MediaWiki ditulis dalam bahasa pemrogramanPHP dan menyimpan semua konten teks ke dalam basis data. Perangkat lunak ini dioptimalkan untuk menangani proyek besar secara efisien, yang dapat memiliki terabita konten dan ratusan ribu tampilan per detik.[3][6] Karena Wikipedia adalah salah satu situs web terbesar di dunia, mencapai skalabilitas melalui beberapa lapisancaching dan replikasi basis data telah menjadi perhatian utama bagi pengembang, aspek utama lain dari MediaWiki adalah dengan internasionalisasinya; dan antarmukanya tersedia dalam lebih dari 300 bahasa.[7] Perangkat lunak ini memiliki lebih dari 1.000 pengaturan konfigurasi[8] dan lebih dari 1.800 ekstensi tersedia untuk memungkinkan berbagai fitur ditambahkan atau diubah.[9]
Selain digunakan di situs Wikimedia, MediaWiki telah digunakan sebagai manajemen pengetahuan dan sistem manajemen konten di ribuan situs web, publik dan pribadi, termasuk situs webFandom,WikiHow, dan instalasi internal utama sepertiIntellipedia danDiplopedia.
MediaWiki merupakanperangkat lunak bebas dan sumber terbuka dan didistribusikan di bawah persyaratanGNU General Public License versi 2 atau versi yang lebih baru. Dokumentasinya, terletak di www.mediawiki.org, dirilis di bawah lisensiCreative Commons BY-SA 3.0 dan sebagian berada didomain publik.[10] Secara khusus, konten di MediaWiki.org berlisensiCreative Commons, sedangkan kumpulan halaman bantuan yang dimaksudkan untuk disalin secara bebas ke dalam instalasi wiki baru dan/atau didistribusikan dengan perangkat lunak MediaWiki adalah domain publik. Hal ini dilakukan untuk menghilangkan masalah hukum yang timbul dari halaman bantuan yang diimpor ke wiki dengan lisensi yang tidak sesuai dengan lisensi Creative Commons.[11] Pengembangan MediaWiki sendiri umumnya lebih menyukai penggunaanformat media sumber terbuka.[12]
MediaWiki memiliki komunitas sukarelawan yang aktif untuk pengembangan dan pemeliharaan. Pengguna yang telah memberikan kontribusi berarti mengirimkantambalan pada proyek (umumnya), atas permintaan, diberikan akses untuk melakukan revisi pada repositoriGit/Gerrit.[13]Ada juga pemrogram berbayar yang bertujuan terutama mengembangkan proyek untuk Wikimedia Foundation. Pengembang MediaWiki berpartisipasi dalamGoogle Summer of Code dengan memfasilitasi penugasan mentor kepada murid yang ingin mengerjakan proyek inti dan ekstensi MediaWiki.[14]Selama bertahun-tahun sebelum November 2012, ada sekitar dua ratus pengembang yang telah melakukan perubahan pada inti atau ekstensi MediaWiki.[15]Rilis utama MediaWiki dihasilkan kira-kira setiap 6 bulan dengan mengambil snapshot dari cabang pengembangan, yang disimpan terus menerus dalam keadaan dapat dijalankan;[16] seperti memperbaiki bug (terutama untuk masalah keamanan).
MediaWiki dikembangkan pada model pengembangan integrasi berkelanjutan, di mana perubahan perangkat lunak didorong langsung ke situs Wikimedia secara teratur.[16]
MediaWiki juga memiliki pelacak bug publik, sepertiphabricator.wikimedia.org, yang menjalankanPhabricator. Situs ini juga digunakan untuk permintaan fitur dan peningkatan.
KetikaWikipedia diluncurkan padaJanuari2001, Wikipedia berjalan pada sistemperangkat lunak wiki yang ada,UseModWiki. UseModWiki ditulis dalam bahasa pemrogramanPerl, dan menyimpan semua halaman wiki dalam berkas teks (.txt). Perangkat lunak ini segera terbukti membatasi dengan baik dalam fungsi maupun kinerja. Pada pertengahan 2001, Magnus Manske — pengembang dan mahasiswa diUniversitas Cologne, sertaeditor Wikipedia — mulai mengerjakan perangkat lunak baru yang akan menggantikan UseModWiki, yang dirancang khusus untuk digunakan oleh Wikipedia. Perangkat lunak ini ditulis dalam bahasa skripPHP, dan menyimpan semua informasinya dalam basis data mesinMySQL. Perangkat lunak baru sebagian besar dikembangkan pada 24 Agustus 2001, dan wiki uji untuk itu didirikan segera sesudahnya.
Implementasi penuh pertama dari perangkat lunak ini adalahMeta-Wikipedia yang baru pada tanggal 9 November 2001. Ada keinginan untuk menerapkannya segera diWikipedia bahasa Inggris,[17] tetapi, Manske khawatir tentang potensi bug yang membahayakan situs web yang baru lahir. Selama masa ujian akhir yang harus ia selesaikan segera sebelumNatal;[18] Hal ini menyebabkan peluncuran Wikipedia bahasa Inggris ditunda hingga 25 Januari 2002. Perangkat lunak itu kemudian, secara bertahap, digunakan di semua situs bahasa Wikipedia pada waktu itu. Perangkat lunak ini disebut sebagai "skripPHP" dan sebagai "fase II", dengan nama "fase I", secara surut diberikan pada penggunaan UseModWiki.
Peningkatan penggunaan segera menyebabkan masalah muncul lagi, dan segera setelah itu, perbaikan ulang perangkat lunak lainnya dimulai; kali ini dilakukan oleh Lee Daniel Crocker, yang kemudian dikenal sebagai "fase III". Perangkat lunak baru ini juga ditulis dalam PHP, denganback-end dari MySQL, dan mempertahankan antarmuka dasar perangkat lunak fase II, tetapi dengan fungsionalitas tambahan skalabilitas yang lebih luas. Perangkat lunak "fase III" ditayangkan di Wikipedia pada Juli 2002.
Yayasan Wikimedia diumumkan pada 20 Juni 2003. Pada bulan Juli, kontributor Wikipedia, Daniel Mayer, mengusulkan nama "MediaWiki" untuk perangkat lunak, sebagai plesetan dari "Wikimedia".[19] Nama MediaWiki secara bertahap dihapus, dimulai pada Agustus 2003. Nama tersebut sering menimbulkan kebingungan karena (disengajakan) mirip dengan nama "Wikimedia" (yang mirip dengan "Wikipedia").[20]
Logo MediaWiki sampai 1 April, 2021
logo lama dibuat olehErik Möller, menggunakan foto bunga yang diambil olehFlorence Nibart-Devouard, dan awalnya diajukan ke kontes logo untuklogo Wikipedia yang baru, yang diadakan dari 20 Juli hingga 27 Agustus 2003.[21][22] Logo tersebut berada di juara ketiga, dan dipilih untuk mewakili MediaWiki dibandingkan Wikipedia, dengan logo juara kedua digunakan untuk Wikimedia Foundation.[23] Tanda kurung siku ganda ([[]]) melambangkan sintaks yang digunakan MediaWiki untuk membuat pranala ke halaman wiki lain; sedangkanbunga matahari mewakili keragaman konten di Wikipedia, dan pertumbuhan konstan.[24]
Kemudian, Brion Vibber, seorang CTO dari Yayasan Wikimedia,[25] mengambil peran sebagai Release Manager, dan yang paling aktif sebagaipemrogram.[2][26]
Tonggak utama dalam pengembangan MediaWiki termasuk: sistem kategorisasi (2004);fungsi pengurai, (2006);penandaan revisi, (2008);[27] "ResourceLoader", sebuah sistem pengiriman untuk CSS dan JavaScript (2011);[28] danVisualEditor, platform penyuntingan dari "apa yang Anda lihat adalah apa yang Anda dapatkan" (WYSIWYG) (2013)[29]
Kontesmendesain logo baru dimulai pada 22 Juni 2020, karena logo yang lama memiliki gambarbitmap dan memiliki "detail tinggi", yang menyebabkan masalah saat rendering pada resolusi tinggi dan rendah. Setelah dua putaran pemungutan suara, logo MediaWiki baru dan saat ini yang dirancang olehSerhio Magpie dipilih pada 24 Oktober 2020 dan secara resmi diadopsi pada 1 April 2021.[30]
Penggunaan MediaWiki yang paling terkenal adalah di Wikipedia dan, pada tingkat yang lebih rendah, proyek-proyek Yayasan Wikimedia lainnya.Fandom,ladang wiki yang sebelumnya dikenal sebagai Wikia, berjalan di MediaWiki. Wiki publik lainnya yang berjalan di MediaWiki termasukwikiHow danSNPedia. WikiLeaks dimulai sebagai situs berbasis MediaWiki, tetapi bukan lagi sebuah wiki.
MediaWiki dapat menggunakansistem manajemen basis data relasionalMySQL/MariaDB,PostgreSQL atauSQLite. Dukungan untuk basis data Oracle danMicrosoft SQL Server telah dihentikan sejak MediaWiki 1.34.[35] Basis data MediaWiki berisi beberapa lusintabel, termasuk tabelhalaman, tabel yang berisi judul halaman, id halaman, dan metadata lainnya;[36] dan tabelrevisi memegang metadata untuk setiap penyuntingan dilakukan untuk halaman dalam wiki. Setiap penyuntingan halaman membuat baris revisi, yang menyimpan informasi seperti pengguna yang melakukan penyuntingan, dan waktu penyuntingan dilakukan.[37][38]
Dalam periode 4½ tahun, basis sata MediaWiki memiliki 170 versiskema.[39] Mungkin, perubahan skema terbesar dilakukan di MediaWiki 1.5, ketika penyimpanan metadata dipisahkan dari konten, untuk meningkatkan fleksibilitas kinerja. Ketika pemutakhiran ini diterapkan ke Wikipedia, situs itu dikunci untuk disunting, dan skema diubah ke versi baru dalam waktu sekitar 22 jam. Beberapa proposal untuk peningkatan perangkat lunak, seperti proposal yang mengizinkan bagian artikel dilihat melalui daftar pantauan, telah ditolak karena perubahan skema yang diperlukan akan memerlukan waktu henti Wikipedia yang terlalu banyak.[40]
Pengembang MediaWiki telah memberlakukan standar keamanan, baik untuk kode inti maupun ekstensi.[41] SQL dan produksi HTML biasanya dilakukan melalui fungsi pembungkus yang menangani validasi, pelolosan, pemfilteran untuk pencegahanXSS daninjeksi SQL.[42] Banyak masalah keamanan harus ditambal setelah perilisan versi MediaWiki,[43] dan karenanya MediaWiki.org menyatakan, "Langkah keamanan terpenting yang dapat Anda ambil adalah menjaga perangkat lunak Anda tetap mutakhir" dengan berlangganan pengumuman listserv dan menginstal pembaruan keamanan yang diumumkan.[44]
Pengembang MediaWiki tersebar di seluruh dunia, meskipun dengan mayoritas diAmerika Serikat danEropa. Pertemuan tatap muka dan sesi pemrograman untuk pengembang MediaWiki telah diadakan sekali atau beberapa kali dalam setahun sejak 2004.[45]
↑"Development policy". MediaWiki. 19 Juli, 2013.Diarsipkan dari versi aslinya tanggal 10 Mei, 2017. Diakses tanggal2013-08-04.
↑"Summer of Code". MediaWiki. 26 Maret, 2013.Diarsipkan dari versi aslinya tanggal 10 Mei, 2017. Diakses tanggal2013-08-04.
↑"Wikimedia". Open Hub.Diarsipkan dari versi aslinya tanggal 14 September, 2017. Diakses tanggal2012-11-15. Approximate counts (not deduplicated) as of 2012-11-04: 139 for core, 155 for extensions supported by WMF, 190 and 42 for extensions only hosted on WMF's Git and SVN repositories respectively.
12"Version lifecycle". MediaWiki. 5 September, 2018.Diarsipkan dari versi aslinya tanggal 17 Juni, 2020. Diakses tanggal2018-10-21.
↑Bartlett, Manning (14 November, 2001)."Magnus's new script..."Wikimedia Lists. Wikimedia Foundation.Diarsipkan dari versi aslinya tanggal 2 Oktober, 2019. Diakses tanggal 2 Oktober, 2019.
↑Manske, Magnus (14 November, 2001)."Magnus's new script..."Wikimedia Lists. Wikimedia Foundation.Diarsipkan dari versi aslinya tanggal 2 Oktober, 2019. Diakses tanggal 2 Oktober, 2019.
↑"Wikipedia and MediaWiki".Presentation MediaWiki development (video). 28 April, 2006.Diarsipkan dari versi aslinya tanggal 14 April, 2011. Diakses tanggal2009-09-23.
↑Ortega, Felipe; González-Barahona, Jesus M.; Robles, Gregorio (2007),The Top-Ten Wikipedias: A Quantitative Analysis Using WikiXRay,CiteSeerX10.1.1.107.1424Pemeliharaan CS1: Tahun (link)