Simple Machines Forum
Encyclopedia
Simple Machines Forum is a free
Internet forum
application. The software is written in PHP
and uses a MySQL
database backend, although multi-database support is being developed for version 2.0. SMF is developed by the Simple Machines development team.
-based ancestor software YaBB. At the time, YaBB was attributed to causing resource allocation problems on many systems. YaBB SE was written as a rough PHP
port of YaBB, and had many of the same resource and security problems of the older YaBB versions. Joseph Fung and Jeff Lewis of Lewis Media Inc., the owners of YaBB SE and the original owners of SMF, made the decision to convert to a new brand and name.
SMF started as a small project by username "[Unknown]" (one of the YaBB SE developers) and its main intent was to add more advanced templating to YaBB SE. The project then slowly grew to address common feature requests, efficiency problems, and security concerns. A rehaul of YaBB SE had been in development for several years, but was superseded by this then competing project. Popular interest in the new YaBB SE fork
sparked a complete rewrite of the code, with security and performance in mind. This eventually became today's Simple Machines Forum. The first SMF release was SMF 1.0 Beta 1a, released on 30 September 2003 to Charter Members only.
On the 23 October 2006, Simple Machines LLC was registered in the state of Arizona, and the transfer of copyrights from Lewis Media to Simple Machines LLC was completed on the 24 November 2006 during a three-day retreat in Tucson, AZ. This was done for the "[solidification of] the team’s commitment to continuously providing free software, without the perceived risks of corporate influence".
Simple Machines won the best free forum software award of 2009.
The final version of SMF 2.0 was released on June 11, 2011.
, Arabic
, Bangla (Bengali), Bulgarian
, Catalan
, Chinese
, Croatian
, Czech
, Danish
, Dutch
, English
, English British
, Finnish
, French
, German
, Greek
, Hebrew
, Hindi, Hungarian
, Indonesian
, Italian
, Japanese
, Kurdish
, Macedonian
, Malay
, Norwegian
, Persian
, Polish
, Portuguese
, Romanian
, Russian
, Serbian
, Spanish
, Slovak
, Swedish
, Thai
, Turkish
, Ukrainian
, Urdu and Vietnamese
. SMF is also being translated in another 30 languages by an online tool called Language Editor available for the official translators of the SMF software. UTF-8 and non-UTF-8 encodings are available for all versions.
, Helpdesk, profile additions, gallery, spam filter
, various SEO features, and many more. Before being listed on the SMF Mods site, the mod is validated by the SMF Team, to ensure that it complies with the SMF Coding Guidelines.
The Package Manager included in SMF is one of the flagship features. It allows an administrator to install modifications and updates to SMF without having to modify the code of the script, usually with only a few mouse clicks.
, optimization
and customization of SMF.
license; the developers acknowledge this. Redistribution of the software, even unmodified, was not allowed without written permission. The source code was not redistributable either, although it was allowed to distribute instructions on how to modify it. The official response was:
However, as of June 11, 2011, Simple Machines version 2.0 and later are now licensed under the 3-clause BSD license.
Free software
Free software, software libre or libre software is software that can be used, studied, and modified without restriction, and which can be copied and redistributed in modified or unmodified form either without restriction, or with restrictions that only ensure that further recipients can also do...
Internet forum
Internet forum
An Internet forum, or message board, is an online discussion site where people can hold conversations in the form of posted messages. They differ from chat rooms in that messages are at least temporarily archived...
application. The software is written in PHP
PHP
PHP is a general-purpose server-side scripting language originally designed for web development to produce dynamic web pages. For this purpose, PHP code is embedded into the HTML source document and interpreted by a web server with a PHP processor module, which generates the web page document...
and uses a MySQL
MySQL
MySQL officially, but also commonly "My Sequel") is a relational database management system that runs as a server providing multi-user access to a number of databases. It is named after developer Michael Widenius' daughter, My...
database backend, although multi-database support is being developed for version 2.0. SMF is developed by the Simple Machines development team.
History
SMF was created to replace the forum software YaBB SE, which at the time was gaining a bad reputation because of problems with its PerlPerl
Perl is a high-level, general-purpose, interpreted, dynamic programming language. Perl was originally developed by Larry Wall in 1987 as a general-purpose Unix scripting language to make report processing easier. Since then, it has undergone many changes and revisions and become widely popular...
-based ancestor software YaBB. At the time, YaBB was attributed to causing resource allocation problems on many systems. YaBB SE was written as a rough PHP
PHP
PHP is a general-purpose server-side scripting language originally designed for web development to produce dynamic web pages. For this purpose, PHP code is embedded into the HTML source document and interpreted by a web server with a PHP processor module, which generates the web page document...
port of YaBB, and had many of the same resource and security problems of the older YaBB versions. Joseph Fung and Jeff Lewis of Lewis Media Inc., the owners of YaBB SE and the original owners of SMF, made the decision to convert to a new brand and name.
SMF started as a small project by username "[Unknown]" (one of the YaBB SE developers) and its main intent was to add more advanced templating to YaBB SE. The project then slowly grew to address common feature requests, efficiency problems, and security concerns. A rehaul of YaBB SE had been in development for several years, but was superseded by this then competing project. Popular interest in the new YaBB SE fork
Fork (software development)
In software engineering, a project fork happens when developers take a legal copy of source code from one software package and start independent development on it, creating a distinct piece of software...
sparked a complete rewrite of the code, with security and performance in mind. This eventually became today's Simple Machines Forum. The first SMF release was SMF 1.0 Beta 1a, released on 30 September 2003 to Charter Members only.
On the 23 October 2006, Simple Machines LLC was registered in the state of Arizona, and the transfer of copyrights from Lewis Media to Simple Machines LLC was completed on the 24 November 2006 during a three-day retreat in Tucson, AZ. This was done for the "[solidification of] the team’s commitment to continuously providing free software, without the perceived risks of corporate influence".
Simple Machines won the best free forum software award of 2009.
Future
On 8 April 2007, Simple Machines announced the introduction of their next version, SMF 2.0. SMF 2.0 has been in development alongside SMF 1.1 since December 2005. This version has many new features, including:- Database abstraction - with support for PostgreSQL and SQLite planned alongside that of MySQL.
- Automatic installation of packages into themes other than just the default.
- Email templates to simplify customization of forum emails.
- Moderation center including post, topic and attachment moderation - to allow approving of user content before it is made public.
- User warning system.
- Additional group functionally including group moderators and requestable/free assignable groups.
- WYSIWYGWYSIWYGWYSIWYG is an acronym for What You See Is What You Get. The term is used in computing to describe a system in which content displayed onscreen during editing appears in a form closely corresponding to its appearance when printed or displayed as a finished product...
editor to provide an intuitive user interface to those users not familiar with BBCodeBBCodeBBCode or Bulletin Board Code is a lightweight markup language used to format posts in many message boards. The available tags are usually indicated by square brackets surrounding a keyword, and they are parsed by the message board system before being translated into a markup language that web...
. - Permission improvements such as group inheritance and permission profiles to further reduce the complexity of the permissions system.
- File based caching for a performance increase on all forums regardless of whether an accelerator is installed.
- Mail queuing system to stagger the sending of emails to improve performance on large forums.
- Advanced signature settings to allow the administrator of a forum to more tightly control the contents of users signatures.
- Personal messaging improvements including ability to automatically sort incoming messages and a variety of display options.
- Improved upgrade script with better timeout protection and simpler user interface.
- Custom profile fields to enable administrators to add additional member fields from the administration center.
- Use of OpenIDOpenIDOpenID is an open standard that describes how users can be authenticated in a decentralized manner, eliminating the need for services to provide their own ad hoc systems and allowing users to consolidate their digital identities...
.
The final version of SMF 2.0 was released on June 11, 2011.
Localization
SMF is available in over 47 languages, including AlbanianAlbanian language
Albanian is an Indo-European language spoken by approximately 7.6 million people, primarily in Albania and Kosovo but also in other areas of the Balkans in which there is an Albanian population, including western Macedonia, southern Montenegro, southern Serbia and northwestern Greece...
, Arabic
Arabic language
Arabic is a name applied to the descendants of the Classical Arabic language of the 6th century AD, used most prominently in the Quran, the Islamic Holy Book...
, Bangla (Bengali), Bulgarian
Bulgarian language
Bulgarian is an Indo-European language, a member of the Slavic linguistic group.Bulgarian, along with the closely related Macedonian language, demonstrates several linguistic characteristics that set it apart from all other Slavic languages such as the elimination of case declension, the...
, Catalan
Catalan language
Catalan is a Romance language, the national and only official language of Andorra and a co-official language in the Spanish autonomous communities of Catalonia, the Balearic Islands and Valencian Community, where it is known as Valencian , as well as in the city of Alghero, on the Italian island...
, Chinese
Chinese language
The Chinese language is a language or language family consisting of varieties which are mutually intelligible to varying degrees. Originally the indigenous languages spoken by the Han Chinese in China, it forms one of the branches of Sino-Tibetan family of languages...
, Croatian
Croatian language
Croatian is the collective name for the standard language and dialects spoken by Croats, principally in Croatia, Bosnia and Herzegovina, the Serbian province of Vojvodina and other neighbouring countries...
, Czech
Czech language
Czech is a West Slavic language with about 12 million native speakers; it is the majority language in the Czech Republic and spoken by Czechs worldwide. The language was known as Bohemian in English until the late 19th century...
, Danish
Danish language
Danish is a North Germanic language spoken by around six million people, principally in the country of Denmark. It is also spoken by 50,000 Germans of Danish ethnicity in the northern parts of Schleswig-Holstein, Germany, where it holds the status of minority language...
, Dutch
Dutch language
Dutch is a West Germanic language and the native language of the majority of the population of the Netherlands, Belgium, and Suriname, the three member states of the Dutch Language Union. Most speakers live in the European Union, where it is a first language for about 23 million and a second...
, English
English language
English is a West Germanic language that arose in the Anglo-Saxon kingdoms of England and spread into what was to become south-east Scotland under the influence of the Anglian medieval kingdom of Northumbria...
, English British
British English
British English, or English , is the broad term used to distinguish the forms of the English language used in the United Kingdom from forms used elsewhere...
, Finnish
Finnish language
Finnish is the language spoken by the majority of the population in Finland Primarily for use by restaurant menus and by ethnic Finns outside Finland. It is one of the two official languages of Finland and an official minority language in Sweden. In Sweden, both standard Finnish and Meänkieli, a...
, French
French language
French is a Romance language spoken as a first language in France, the Romandy region in Switzerland, Wallonia and Brussels in Belgium, Monaco, the regions of Quebec and Acadia in Canada, and by various communities elsewhere. Second-language speakers of French are distributed throughout many parts...
, German
German language
German is a West Germanic language, related to and classified alongside English and Dutch. With an estimated 90 – 98 million native speakers, German is one of the world's major languages and is the most widely-spoken first language in the European Union....
, Greek
Greek language
Greek is an independent branch of the Indo-European family of languages. Native to the southern Balkans, it has the longest documented history of any Indo-European language, spanning 34 centuries of written records. Its writing system has been the Greek alphabet for the majority of its history;...
, Hebrew
Hebrew language
Hebrew is a Semitic language of the Afroasiatic language family. Culturally, is it considered by Jews and other religious groups as the language of the Jewish people, though other Jewish languages had originated among diaspora Jews, and the Hebrew language is also used by non-Jewish groups, such...
, Hindi, Hungarian
Hungarian language
Hungarian is a Uralic language, part of the Ugric group. With some 14 million speakers, it is one of the most widely spoken non-Indo-European languages in Europe....
, Indonesian
Indonesian language
Indonesian is the official language of Indonesia. Indonesian is a normative form of the Riau Islands dialect of Malay, an Austronesian language which has been used as a lingua franca in the Indonesian archipelago for centuries....
, Italian
Italian language
Italian is a Romance language spoken mainly in Europe: Italy, Switzerland, San Marino, Vatican City, by minorities in Malta, Monaco, Croatia, Slovenia, France, Libya, Eritrea, and Somalia, and by immigrant communities in the Americas and Australia...
, Japanese
Japanese language
is a language spoken by over 130 million people in Japan and in Japanese emigrant communities. It is a member of the Japonic language family, which has a number of proposed relationships with other languages, none of which has gained wide acceptance among historical linguists .Japanese is an...
, Kurdish
Kurdish language
Kurdish is a dialect continuum spoken by the Kurds in western Asia. It is part of the Iranian branch of the Indo-Iranian group of Indo-European languages....
, Macedonian
Macedonian language
Macedonian is a South Slavic language spoken as a first language by approximately 2–3 million people principally in the region of Macedonia but also in the Macedonian diaspora...
, Malay
Malay language
Malay is a major language of the Austronesian family. It is the official language of Malaysia , Indonesia , Brunei and Singapore...
, Norwegian
Norwegian language
Norwegian is a North Germanic language spoken primarily in Norway, where it is the official language. Together with Swedish and Danish, Norwegian forms a continuum of more or less mutually intelligible local and regional variants .These Scandinavian languages together with the Faroese language...
, Persian
Persian language
Persian is an Iranian language within the Indo-Iranian branch of the Indo-European languages. It is primarily spoken in Iran, Afghanistan, Tajikistan and countries which historically came under Persian influence...
, Polish
Polish language
Polish is a language of the Lechitic subgroup of West Slavic languages, used throughout Poland and by Polish minorities in other countries...
, Portuguese
Portuguese language
Portuguese is a Romance language that arose in the medieval Kingdom of Galicia, nowadays Galicia and Northern Portugal. The southern part of the Kingdom of Galicia became independent as the County of Portugal in 1095...
, Romanian
Romanian language
Romanian Romanian Romanian (or Daco-Romanian; obsolete spellings Rumanian, Roumanian; self-designation: română, limba română ("the Romanian language") or românește (lit. "in Romanian") is a Romance language spoken by around 24 to 28 million people, primarily in Romania and Moldova...
, Russian
Russian language
Russian is a Slavic language used primarily in Russia, Belarus, Uzbekistan, Kazakhstan, Tajikistan and Kyrgyzstan. It is an unofficial but widely spoken language in Ukraine, Moldova, Latvia, Turkmenistan and Estonia and, to a lesser extent, the other countries that were once constituent republics...
, Serbian
Serbian language
Serbian is a form of Serbo-Croatian, a South Slavic language, spoken by Serbs in Serbia, Bosnia and Herzegovina, Montenegro, Croatia and neighbouring countries....
, Spanish
Spanish language
Spanish , also known as Castilian , is a Romance language in the Ibero-Romance group that evolved from several languages and dialects in central-northern Iberia around the 9th century and gradually spread with the expansion of the Kingdom of Castile into central and southern Iberia during the...
, Slovak
Slovak language
Slovak , is an Indo-European language that belongs to the West Slavic languages .Slovak is the official language of Slovakia, where it is spoken by 5 million people...
, Swedish
Swedish language
Swedish is a North Germanic language, spoken by approximately 10 million people, predominantly in Sweden and parts of Finland, especially along its coast and on the Åland islands. It is largely mutually intelligible with Norwegian and Danish...
, Thai
Thai language
Thai , also known as Central Thai and Siamese, is the national and official language of Thailand and the native language of the Thai people, Thailand's dominant ethnic group. Thai is a member of the Tai group of the Tai–Kadai language family. Historical linguists have been unable to definitively...
, Turkish
Turkish language
Turkish is a language spoken as a native language by over 83 million people worldwide, making it the most commonly spoken of the Turkic languages. Its speakers are located predominantly in Turkey and Northern Cyprus with smaller groups in Iraq, Greece, Bulgaria, the Republic of Macedonia, Kosovo,...
, Ukrainian
Ukrainian language
Ukrainian is a language of the East Slavic subgroup of the Slavic languages. It is the official state language of Ukraine. Written Ukrainian uses a variant of the Cyrillic alphabet....
, Urdu and Vietnamese
Vietnamese language
Vietnamese is the national and official language of Vietnam. It is the mother tongue of 86% of Vietnam's population, and of about three million overseas Vietnamese. It is also spoken as a second language by many ethnic minorities of Vietnam...
. SMF is also being translated in another 30 languages by an online tool called Language Editor available for the official translators of the SMF software. UTF-8 and non-UTF-8 encodings are available for all versions.
Modifications
SMF has a modification base repository for free modification hosting and tracking via the Simple Machines main site. Many modifications, or "mods" as they are usually called, have been created and distributed free of charge, including an arcadeVideo arcade
An amusement arcade or video arcade is a venue where people play arcade games such as video games, pinball machines, electro-mechanical games, redemption games, merchandisers , or coin-operated billiards or air hockey tables...
, Helpdesk, profile additions, gallery, spam filter
Akismet
Akismet or Automattic Kismet is a spam filtering service. It attempts to filter link spam from blog comments and spam TrackBack pings. The filter works by combining information about spam captured on all participating blogs, and then using those spam rules to block future spam...
, various SEO features, and many more. Before being listed on the SMF Mods site, the mod is validated by the SMF Team, to ensure that it complies with the SMF Coding Guidelines.
The Package Manager included in SMF is one of the flagship features. It allows an administrator to install modifications and updates to SMF without having to modify the code of the script, usually with only a few mouse clicks.
The SMF team
The Simple Machines team is completely built of volunteers, and includes developers, support, customization, documentation, localization, marketing, and different management divisions. SMF has a dedicated support staff and a volunteer user program called Community Support Helpers that provide free support in SMF related problems on the official community forum. Their duties include mostly helping forum owners with troubleshootingTroubleshooting
Troubleshooting is a form of problem solving, often applied to repair failed products or processes. It is a logical, systematic search for the source of a problem so that it can be solved, and so the product or process can be made operational again. Troubleshooting is needed to develop and...
, optimization
Optimization (computer science)
In computer science, program optimization or software optimization is the process of modifying a software system to make some aspect of it work more efficiently or use fewer resources...
and customization of SMF.
Charter Members
People who wish to support Simple Machines with a donation of 49.95 USD yearly are rewarded with a Charter Membership. This grants access to a hidden section on the forum and advanced beta versions to test before they go public. Advanced support for SMF including installation and upgrades by the staff are also provided. Charter Members also get access to a private Helpdesk staffed by the Simple Machines Support Team where Charter Members can receive one-on-one support outside of the public forum.SMF and free software
Previously, SMF was occasionally criticized for not being available under a free softwareFree software
Free software, software libre or libre software is software that can be used, studied, and modified without restriction, and which can be copied and redistributed in modified or unmodified form either without restriction, or with restrictions that only ensure that further recipients can also do...
license; the developers acknowledge this. Redistribution of the software, even unmodified, was not allowed without written permission. The source code was not redistributable either, although it was allowed to distribute instructions on how to modify it. The official response was:
However, as of June 11, 2011, Simple Machines version 2.0 and later are now licensed under the 3-clause BSD license.
See also
- Comparison of Internet forum softwareComparison of Internet forum softwareThis article outlines the general features commonly found in various Internet forum software packages.-Subarticles:This article is a comparison of some of the major features of the various Internet forum software packages currently available. This page highlights major features that the manager of...
- Comparison of Internet forum software (PHP)Comparison of Internet forum software (PHP)This is a comparison of the features of various Internet forum packages written in PHP.- General information :Basic general information about the forums: creator/company, license/price etc.- Features :- Data storage :...
Further reading
- Ben McGrath (January 17, 2007) Easy discussions with Simple Machines Forums, Linux.comLinux.comLinux.com is the name of a website owned by the Linux Foundation. The site is currently a central source for Linux information, software, documentation and answers across the server, desktop/netbook, mobile, and embedded areas. Linux.com offers free Linux tutorials, news and blogs, discussion...
- Phil Hughes (March 4, 2008) Simple Machines Forum, Linux JournalLinux JournalLinux Journal is a monthly technology magazine published by Belltown Media, Inc. of Houston, Texas. The magazine focuses specifically on Linux, allowing the content to be a highly specialized source of information for open source enthusiasts.-History:...