Diskon kelas baru hingga 25%! Masukkan kupon "lebihcepat" di kelas ini

X
Logo Koala Skodev mengetik

Skodev

Belajar coding dalam bahasa Indonesia

APA ITU
Open Source
Pengertian dan Informasi

Apa itu open source? Apa manfaatnya? Bagaimana cara berkontribusi ke open source? Apa saja yang perlu dipelajari? Apa saja yang perlu diperhatikan?

Daftar Isi:

Apa itu Open Source?
Alasan kenapa orang membuat so...
Kelebihan Open Source
Kekurangan Open Source
Apa itu Closed Source?
Perbedaan Antara Open Source d...
Alur kerja proyek Open Source
Jenis Lisensi Software Open So...
Contoh proyek Open Source
Tool dalam membuat open source
Bagaimana cara berkontribusi k...
Sejarah singkat open source

Kamu pernah mendegar istilah proyek open source? Tahu tidak, open source artinya bukan sekedar gratis. Tapi ada banyak hal yang bisa kamu pelajari dari proyek open source. Apa saja itu? Yuk kita bahas.

apa itu open source

Apa itu Open Source?

Open Source adalah istilah yang merujuk pada perangkat lunak yang dibuat dengan sumber kode yang bisa diakses dan diubah oleh siapa saja. Filsafat open source mendorong transparansi, kolaborasi, dan berbagi, memungkinkan orang-orang untuk membuat dan meningkatkan perangkat lunak bersama.

Namanya “open source” karena kode sumbernya tersedia secara bebas untuk publik, dan siapa saja bisa melihat, memperbaiki, dan menambahkan fungsionalitas sesuai kebutuhan mereka.

Ini menjamin perangkat lunak selalu mengikuti evolusi kebutuhan pengguna dan cepat menyesuaikan diri dengan perubahan. Ini juga mendorong inovasi, karena banyak kepala memikirkan dan memperbaiki kode bisa menciptakan solusi lebih baik dan lebih cepat dari pada satu orang atau tim kecil.

Open source bisa berupa perangkat lunak desktop yang umum, seperti sistem operasi Linux, atau bisa juga berupa teknologi perangkat lunak yang sangat spesifik untuk suatu industri, misalnya perangkat lunak untuk pemodelan data genetik atau aplikasi web.

Untuk membuat open source kamu butuh skill coding. Berikut tips belajar coding untuk pemula

Alasan kenapa orang membuat software open source?

alasan membuat open source

1. Kolaborasi dan Kontribusi Komunitas

Dengan membuat perangkat lunak open source, pengembang dapat memanfaatkan keahlian dan input dari komunitas seluruh dunia, bukan hanya pikirannya sendiri. Ini dapat menghasilkan perangkat lunak yang lebih baik dan lebih cepat, karena banyak pikiran yang berkontribusi.

2. Transparansi dan Kontrol

Perangkat lunak open source memberikan transparansi penuh tentang apa yang dilakukan oleh kode. Ini penting bagi banyak pengguna dan organisasi yang tidak ingin bergantung pada perangkat lunak yang perilakunya mungkin tidak sepenuhnya diketahui. Mereka juga dapat mengubah dan menyesuaikan perangkat lunak tersebut sesuai kebutuhan mereka.

3. Pendidikan dan Pembelajaran

Perangkat lunak open source juga dapat menjadi alat yang hebat untuk belajar dan mengajar tentang pemrograman dan sistem. Kode sumber yang tersedia untuk umum memungkinkan orang lain untuk belajar dari kode tersebut, dan memberi mereka kesempatan untuk berkontribusi dan belajar dalam prosesnya.

4. Kebebasan dan Fleksibilitas

Perangkat lunak open source menawarkan kebebasan untuk digunakan, dipelajari, didistribusikan ulang, dan dimodifikasi. Ini berarti bahwa pengguna tidak dibatasi oleh lisensi yang mungkin mencegah mereka menggunakan perangkat lunak dengan cara tertentu.

5. Mengurangi Biaya

Membuat perangkat lunak open source bisa jadi cara yang efektif untuk mengurangi biaya, karena tidak perlu mengeluarkan uang untuk lisensi. Selain itu, perangkat lunak tersebut bisa diadopsi dan diadaptasi oleh siapa saja, sehingga dapat menyebar dengan cepat dan efisien.

6. Mendorong Standar Terbuka

Perangkat lunak open source seringkali mendukung dan mendorong standar terbuka, yang memungkinkan interoperabilitas dan fleksibilitas lebih besar dibandingkan dengan perangkat lunak proprietary. Ini bisa jadi alasan penting untuk membuat perangkat lunak open source.

7. Mendukung Keberlanjutan Jangka Panjang

Karena perangkat lunak open source dapat diadopsi dan dikelola oleh komunitas, ini bisa memastikan keberlanjutan jangka panjang, bahkan jika pengembang aslinya berhenti mengembangkan. Ini berbeda dengan perangkat lunak closed source, yang bisa menjadi usang atau berhenti didukung jika perusahaan pengembangnya tutup.

8. Membangun Portofolio dan Meningkatkan Peluang Kerja

Membuat perangkat lunak open source bisa menjadi cara yang efektif untuk menunjukkan kemampuan dan keterampilan pemrograman kepada calon pemberi kerja. Ini bisa menjadi bagian penting dari portofolio digital seseorang, yang menunjukkan bukti nyata dari apa yang telah mereka kerjakan dan capai. Dengan berkontribusi pada proyek open source, individu juga dapat membangun reputasi dalam komunitas teknologi, yang bisa membuka lebih banyak peluang kerja dan kolaborasi di masa depan.

9. Peluang penghasilan tambahan

donasi open source github

Walaupun banyak proyek open source dibuat dan dikelola secara sukarela, ada juga peluang untuk menghasilkan pendapatan. Beberapa cara yang bisa digunakan antara lain:

  • Dukungan dan Konsultasi: Jika Anda adalah pengembang atau kontributor utama proyek open source, Anda mungkin dapat menawarkan jasa konsultasi atau dukungan kepada pengguna yang membutuhkan bantuan lebih lanjut.
  • Pendanaan dan Donasi: Beberapa proyek open source didanai oleh donasi dari pengguna atau sponsor. Situs seperti Patreon, Open Collective, dan GitHub Sponsors memungkinkan orang untuk mendukung proyek open source secara finansial.
  • Penjualan Produk atau Layanan Terkait: Beberapa perusahaan open source berhasil menghasilkan pendapatan dengan menjual produk atau layanan yang berhubungan dengan perangkat lunak mereka, seperti fitur premium, hosting, atau pelatihan.
  • Kerjasama dengan Perusahaan: Banyak perusahaan menggunakan perangkat lunak open source dan bersedia membayar pengembang untuk menambahkan fitur tertentu atau memperbaiki bug.

Kelebihan Open Source

1. Keterbukaan dan Transparansi

Open source memberikan akses kepada kode sumber, yang berarti pengguna dapat melihat dan memahami secara detail bagaimana sistem bekerja. Ini menciptakan tingkat transparansi yang tinggi dan memungkinkan pengguna untuk melakukan audit sendiri atas kualitas dan keamanan kode.

2. Fleksibilitas dan Kontrol

Dengan perangkat lunak open source, pengguna dapat menyesuaikan dan memodifikasi kode sesuai dengan kebutuhan mereka, yang seringkali tidak dapat dilakukan dengan perangkat lunak closed source.

3. Biaya Lebih Rendah

Perangkat lunak open source seringkali gratis untuk digunakan dan didistribusikan, yang berarti biaya awal dan biaya pemeliharaan bisa lebih rendah dibandingkan dengan perangkat lunak closed source.

4. Kolaborasi dan Inovasi

Perangkat lunak open source seringkali dikembangkan oleh komunitas yang berarti berbagai pihak dapat berkontribusi, membantu mengidentifikasi bug dan menambahkan fitur baru, yang berpotensi mempercepat inovasi.

5. Dukungan Komunitas

Komunitas pengguna dan pengembang yang aktif dan besar sering kali ada di belakang proyek-proyek open source, yang berarti dukungan dan bantuan dapat dengan mudah ditemukan melalui forum, grup, dan platform online lainnya.

Kekurangan Open Source

1. Kurangnya Dukungan Resmi

Tidak semua proyek open source memiliki dukungan resmi dari organisasi atau perusahaan. Dalam banyak kasus, pengguna harus bergantung pada komunitas untuk mendapatkan bantuan dan dukungan.

2. Kesulitan Dalam Penggunaan

Beberapa perangkat lunak open source bisa lebih sulit digunakan daripada alternatif closed source mereka, terutama bagi pengguna yang tidak teknis.

3. Pembaharuan dan Pemeliharaan

Perangkat lunak open source bisa lebih sering memerlukan pembaharuan, dan tugas ini biasanya jatuh pada pengguna atau administrator sistem. Dalam beberapa kasus, proyek bisa berhenti dikembangkan, yang berarti tidak ada lagi pembaruan keamanan dan fitur.

4. Isu Keamanan

Meskipun transparansi dari open source bisa membantu mengidentifikasi dan memperbaiki kelemahan keamanan, juga bisa menjadi pedang bermata dua, karena aktor jahat bisa mencari dan mengeksploitasi kelemahan tersebut.

5. Kurangnya Fitur Tertentu

Beberapa perangkat lunak open source mungkin tidak memiliki fitur-fitur tertentu yang ditawarkan oleh alternatif closed source mereka, atau fitur tersebut mungkin tidak sepolished atau seintuitif perangkat lunak closed source.

Apa itu Closed Source?

Closed source atau sumber tertutup adalah jenis perangkat lunak yang kode sumbernya tidak tersedia untuk publik. Dalam arti lain, pengguna tidak dapat melihat, memodifikasi, atau mendistribusikan kode sumber dari perangkat lunak tersebut.

Meskipun perangkat lunak closed source bisa didapat secara gratis, biasanya pengguna harus membayar untuk memperoleh lisensi dan fitur lengkapnya. Tidak seperti perangkat lunak open source, perusahaan atau individu yang menciptakan perangkat lunak closed source mempertahankan kontrol penuh atas produknya.

apa itu closed source

Hal ini dapat membantu menjaga kestabilan dan keamanan software, tetapi juga membatasi fleksibilitas pengguna, karena merekalah yang menentukan bagaimana software tersebut harus digunakan dan tidak memberikan ruang bagi pengguna untuk memodifikasi sesuai keinginan mereka. Secara keseluruhan, closed source adalah jenis perangkat lunak yang memprioritaskan hak cipta dan kontrol pengembang pada produknya.

Perbedaan Antara Open Source dengan Closed Source

Berikut ini adalah beberapa perbedaan utama antara perangkat lunak open source dan closed source:

1. Ketersediaan Kode Sumber

Ini adalah perbedaan utama antara kedua jenis perangkat lunak ini. Open source berarti bahwa kode sumbernya tersedia secara bebas untuk umum, sedangkan closed source berarti bahwa kode sumbernya tidak tersedia untuk umum.

2. Modifikasi dan Personalisasi

Dalam perangkat lunak open source, pengguna memiliki kebebasan untuk memodifikasi dan menyesuaikan kode sumber sesuai dengan kebutuhan mereka. Sementara itu, dalam perangkat lunak closed source, pengguna tidak dapat memodifikasi kode sumber.

3. Biaya

Biasanya, perangkat lunak open source tersedia secara gratis, sedangkan perangkat lunak closed source biasanya memerlukan pembelian lisensi untuk digunakan.

4. Dukungan

Perangkat lunak closed source biasanya memiliki dukungan teknis profesional dari perusahaan yang memproduksinya. Sebaliknya, dukungan untuk perangkat lunak open source biasanya berasal dari komunitas pengguna dan pengembang perangkat lunak tersebut.

5. Keamanan

Dalam perangkat lunak closed source, keamanan tergantung pada tim pengembang perusahaan. Dalam perangkat lunak open source, karena banyak orang memiliki akses ke kode sumber, keamanannya tergantung pada komunitas pengguna dan pengembang perangkat lunak.

6. Update dan Pemeliharaan

Dalam perangkat lunak closed source, update dan pemeliharaan dilakukan oleh perusahaan yang memproduksinya. Dalam perangkat lunak open source, update dan pemeliharaan dapat dilakukan oleh siapa saja yang memiliki pengetahuan dan kemampuan untuk melakukannya.

7. Pengembangan

Dalam perangkat lunak open source, berbagai pihak dapat berkontribusi dalam pengembangannya, sehingga proses pengembangan bisa lebih cepat. Sebaliknya, dalam perangkat lunak closed source, hanya tim pengembang perusahaan yang dapat mengembangkan perangkat lunak tersebut.

8. Kepemilikan Intelektual

Dalam perangkat lunak closed source, perusahaan atau individu biasanya memiliki hak eksklusif atas kode sumber. Dalam perangkat lunak open source, tidak ada individu atau entitas yang memiliki hak eksklusif atas kode sumber.

Alur kerja proyek Open Source

Proyek open source bekerja dengan cara yang berbeda dari proyek perangkat lunak tradisional. Berikut ini adalah langkah-langkah umum yang digunakan dalam proyek open source:

1. Inisiasi Proyek

Pengembang atau kelompok pengembang memiliki ide untuk suatu proyek dan mulai menulis kode. Mereka memutuskan untuk membuatnya open source, jadi mereka memilih lisensi open source yang sesuai dan membuat kode mereka tersedia secara publik, biasanya di platform seperti GitHub atau GitLab.

2. Pengembangan

Pengembangan pada proyek open source seringkali bersifat kolaboratif. Selain pengembang asli, siapa saja dari komunitas dapat berkontribusi pada proyek tersebut. Kontributor bisa menambahkan fitur baru, memperbaiki bug, menulis dokumentasi, dan lainnya. Kontribusi ini biasanya dikirimkan melalui “pull request” dan ditinjau oleh pengelola proyek sebelum digabungkan ke dalam kode utama.

3. Dukungan dan Pemeliharaan

Dukungan untuk pengguna perangkat lunak biasanya disediakan melalui forum komunitas, daftar email, atau platform lainnya. Pengelola proyek dan kontributor lainnya bisa membantu menjawab pertanyaan dan memandu pengguna. Pemeliharaan kode, termasuk pembaruan dan perbaikan bug, dilakukan oleh pengelola proyek dan kontributor.

4. Rilis

Versi baru perangkat lunak biasanya dirilis secara berkala, termasuk penambahan fitur dan perbaikan bug. Proses ini biasanya dikelola oleh pengelola proyek atau tim inti.

5. Adopsi dan Iterasi

Seiring berjalannya waktu, proyek dapat diterima dan digunakan oleh lebih banyak pengguna. Feedback dari pengguna dapat membantu mengarahkan pengembangan dan peningkatan proyek. Siklus ini - adopsi, feedback, iterasi - dapat berlanjut sepanjang umur proyek.

Perlu diingat bahwa setiap proyek open source mungkin berbeda dalam hal cara kerja, struktur organisasi, dan tata kelola. Proses di atas adalah gambaran umum dan dapat berubah tergantung pada kebutuhan dan tujuan spesifik proyek.

Jenis Lisensi Software Open Source

Berikut link dari opensource.org. Daftar OSI Approved Licenses

Berikut ini beberapa jenis lisensi perangkat lunak open source yang umum digunakan:

1. MIT License

Lisensi ini sangat sederhana dan fleksibel. Dengan lisensi ini, Anda dapat menggunakan, menyalin, memodifikasi, dan mendistribusikan ulang perangkat lunak. Anda juga bisa menggunakan perangkat lunak tersebut dalam proyek komersial. Anda hanya perlu menyertakan salinan lisensi dan hak cipta asli dalam salinan Anda.

2. GNU General Public License (GPL)

GPL adalah lisensi perangkat lunak gratis yang sangat populer. Dengan lisensi ini, pengguna memiliki kebebasan untuk menggunakan, menyalin, dan memodifikasi perangkat lunak. Namun, jika Anda mendistribusikan ulang perangkat lunak atau modifikasi Anda, Anda harus melakukannya di bawah lisensi yang sama.

3. Apache License 2.0

Lisensi ini memungkinkan penggunaan, distribusi, dan modifikasi perangkat lunak, baik untuk kepentingan komersial maupun non-komersial. Lisensi ini juga memberikan perlindungan hukum kepada kontributor jika terjadi sengketa tentang hak cipta.

4. BSD Licenses

BSD (Berkeley Software Distribution) licenses ada dalam beberapa variasi, termasuk BSD 2-Clause, BSD 3-Clause, dan BSD 4-Clause. Semuanya memberikan kebebasan yang luas untuk menggunakan dan mendistribusikan perangkat lunak, tetapi berbeda dalam beberapa persyaratan, seperti pengakuan dan larangan penggunaan nama kontributor untuk promosi.

5. Creative Commons Licenses

Meski lebih sering digunakan untuk karya seperti tulisan dan fotografi, Creative Commons licenses juga bisa digunakan untuk perangkat lunak. Ada beberapa variasi lisensi, beberapa memungkinkan penggunaan komersial dan beberapa memerlukan karya turunan untuk dibagikan dengan lisensi yang sama.

dan masih banyak lagi!

Contoh proyek Open Source

Berikut ini adalah beberapa contoh dari proyek open source yang populer dan berpengaruh, mulai dari OS (operating system), software hingga bahasa pemrograman:

1. Linux

Linux adalah sistem operasi open source yang sangat populer. Dirilis pertama kali oleh Linus Torvalds pada tahun 1991, Linux sekarang digunakan di berbagai platform, mulai dari server, sistem embedded, hingga smartphone melalui Android, yang juga open source.

2. Git

Git adalah sistem kontrol versi terdistribusi yang diciptakan oleh Linus Torvalds. Git digunakan oleh jutaan pengembang di seluruh dunia dan menjadi dasar dari layanan seperti GitHub dan GitLab.

3. Apache HTTP Server

Apache HTTP Server adalah server web open source yang sangat populer. Ini adalah bagian penting dari banyak infrastruktur web dan memiliki peran penting dalam pertumbuhan awal World Wide Web.

4. MySQL

MySQL adalah sistem manajemen basis data relasional (RDBMS) yang open source. Ini digunakan oleh banyak aplikasi web, termasuk platform seperti WordPress dan Drupal.

5. Python

Python adalah bahasa pemrograman tingkat tinggi yang open source. Python digunakan dalam berbagai bidang, termasuk pengembangan web, data science, AI, dan banyak lagi.

6. TensorFlow

TensorFlow adalah perpustakaan open source untuk machine learning dan neural networks. TensorFlow dikembangkan oleh Google dan digunakan dalam banyak aplikasi AI.

7. VS Code

Visual Studio Code (VS Code) adalah editor kode sumber terbuka yang dikembangkan oleh Microsoft. VS Code mendukung berbagai bahasa pemrograman dan fitur, seperti debugging, kontrol versi Git, dan penyelesaian kode otomatis.

8. Kubernetes

Kubernetes adalah sistem open source untuk manajemen kontainer, yang memungkinkan penyebaran, skalabilitas, dan manajemen aplikasi kontainer. Kubernetes awalnya dikembangkan oleh Google dan sekarang menjadi bagian dari Cloud Native Computing Foundation.

9. Docker

Docker adalah platform open source yang memudahkan pengembangan, pengiriman, dan menjalankan aplikasi di dalam kontainer. Kontainerisasi memungkinkan pengembang untuk membungkus aplikasi dan dependensinya dalam satu paket yang dapat berjalan di mana saja.

10. Node.js

Node.js adalah runtime JavaScript open source yang memungkinkan pengembangan aplikasi server-side menggunakan JavaScript. Hal ini telah mempengaruhi popularitas JavaScript sebagai bahasa pemrograman untuk pengembangan full-stack.

Tool dalam membuat open source

Berikut adalah beberapa tool yang sering digunakan dalam pengembangan proyek open source:

github untuk open source

1. Sistem Kontrol Versi (VCS)

Git adalah sistem kontrol versi terdistribusi yang paling banyak digunakan dalam proyek open source. Git memungkinkan beberapa orang untuk bekerja pada proyek yang sama tanpa mengganggu pekerjaan masing-masing.

2. Hosting Sumber Kode

GitHub, GitLab, dan Bitbucket adalah platform hosting kode sumber yang populer. Mereka menyediakan repositori Git berbasis cloud, serta fitur lain seperti pelacakan masalah, manajemen proyek, dan alat kolaborasi.

3. Text-Editor atau IDE

Tool seperti Visual Studio Code, Atom, dan Sublime Text dapat membantu pengembang menulis dan memeriksa kode. Mereka menawarkan fitur seperti penyorotan sintaks, penyelesaian kode otomatis, dan integrasi Git.

4. Manajemen Dependensi

Tool seperti npm (Node.js), pip (Python), dan Maven (Java) digunakan untuk mengelola dependensi proyek, yang berarti mereka menjaga kontrol atas versi pustaka dan alat yang digunakan oleh proyek.

5. Automasi Pengujian dan Build (Auto Test)

Travis CI, Jenkins, dan CircleCI adalah alat yang dapat digunakan untuk otomatisasi pengujian dan build, yang membantu memastikan bahwa perubahan kode tidak merusak apa pun dan mempermudah penyebaran perangkat lunak.

6. Manajemen Proyek dan Pelacakan Masalah

Dalam proyek berskala besar, alat seperti Jira, Trello, atau fitur Issues dan Projects di GitHub dapat digunakan untuk mengatur tugas, pelacakan bug, dan manajemen proyek.

7. Komunikasi

Komunikasi adalah kunci dalam proyek open source. Tool seperti Slack, Discord, atau Zulip digunakan untuk diskusi langsung, sementara Google Groups atau forum lainnya mungkin digunakan untuk diskusi yang lebih terstruktur. Layanan seperti Mailchimp juga bisa digunakan untuk mengirimkan update proyek melalui email.

Semua alat ini berfungsi untuk memfasilitasi berbagai aspek dari proyek open source, dari penulisan kode hingga manajemen proyek dan komunikasi. Pilihan alat akan bergantung pada preferensi tim, skala proyek, dan teknologi yang digunakan.

Bagaimana cara berkontribusi ke proyek open source?

Berikut adalah beberapa langkah umum untuk berkontribusi ke proyek open source:

1. Pilih Proyek

Langkah pertama dalam berkontribusi adalah memilih proyek yang menarik bagi Anda. Ini bisa menjadi proyek yang Anda gunakan secara pribadi atau proyek yang Anda temukan menarik.

2. Pahami Proyek

Setelah memilih proyek, luangkan waktu untuk memahami struktur proyek, seperti bagaimana kode disusun dan bagaimana proses kontribusi bekerja. Ini sering dijelaskan dalam file README atau CONTRIBUTING dalam repositori proyek.

3. Tentukan Cara Berkontribusi

Ada banyak cara untuk berkontribusi pada proyek open source. Anda bisa menulis kode, memperbaiki bug, menambahkan fitur, memperbaiki dokumentasi, melaporkan bug, menguji perubahan, dan sebagainya. Pilih sesuatu yang sesuai dengan keterampilan dan minat Anda.

4. Setup Lingkungan Pengembangan

Anda mungkin perlu mengatur lingkungan pengembangan di komputer Anda untuk dapat bekerja pada proyek. Ini mungkin termasuk cloning repositori proyek, menginstal dependensi, dan mengatur alat pengembangan.

5. Buat Perubahan

Setelah Anda tahu apa yang ingin Anda lakukan, lakukan perubahan yang diperlukan. Pastikan untuk mengikuti standar kode dan praktek terbaik proyek.

6. Submit Kontribusi

Setelah Anda membuat perubahan, Anda dapat mengirimkannya ke proyek. Ini biasanya melibatkan “commit” perubahan Anda ke repositori Git Anda, lalu “push” perubahan ke GitHub atau platform lainnya, dan akhirnya membuat “pull request” agar perubahan Anda diulas dan digabungkan ke dalam proyek.

7. Review

Setelah Anda mengajukan pull request, pemelihara proyek atau kontributor lainnya akan meninjau kontribusi Anda. Mereka mungkin memiliki umpan balik atau perubahan yang mereka ingin Anda buat sebelum kontribusi Anda dapat diterima.

8. Follow Up

Setelah review, mungkin perlu beberapa perubahan lebih lanjut pada bagian Anda. Ini bisa termasuk memperbaiki masalah, menjawab pertanyaan, atau melakukan perubahan berdasarkan umpan balik.

9. Merge

Setelah kontribusi Anda diterima, akan digabungkan ke dalam kode utama proyek. Selamat, Anda baru saja berkontribusi pada proyek open source!

Ingatlah bahwa setiap proyek memiliki cara sendiri dalam hal kontribusi, jadi selalu baca dokumentasi proyek dan ikuti panduan mereka.

Sejarah singkat open source

Open source sebagai konsep telah ada dalam beberapa bentuk sejak awal sejarah komputasi, tetapi istilah dan gerakan modern “open source” tidak benar-benar terbentuk sampai akhir 1990-an. Berikut ini adalah tinjauan singkat tentang sejarah open source:

1. Awal Mula (1950-an - 1970-an)

Pada awalnya, perangkat lunak sering kali diberikan secara gratis bersama dengan perangkat keras komputer. Kode sumber terbuka dan dimodifikasi oleh pengguna adalah praktik yang umum. Namun, seiring dengan berkembangnya industri perangkat lunak komersial pada 1970-an, perusahaan mulai membatasi akses ke kode sumber mereka.

2. Free Software Movement (1980-an)

Pada tahun 1983, Richard Stallman, seorang programmer di MIT, memulai proyek GNU dan Free Software Foundation (FSF). Tujuannya adalah untuk menciptakan sistem operasi yang sepenuhnya bebas dan terbuka, di mana pengguna memiliki kebebasan untuk menjalankan, mempelajari, membagikan, dan memodifikasi perangkat lunak. Ini melahirkan konsep “perangkat lunak bebas” dan GNU General Public License (GPL), salah satu lisensi open source pertama.

3. Kelahiran Open Source (1990-an)

Meskipun gerakan perangkat lunak bebas telah mengembangkan banyak perangkat lunak terbuka, istilah “open source” sendiri baru diperkenalkan pada tahun 1998 oleh kelompok yang termasuk Eric Raymond dan Bruce Perens. Tujuan mereka adalah untuk mempromosikan ide-ide perangkat lunak bebas ke bisnis dan industri lebih luas, dengan penekanan pada manfaat praktis seperti kolaborasi dan inovasi cepat. Open Source Initiative (OSI) dibentuk dan mendefinisikan “Open Source Definition”.

4. Era Modern (2000-an - Sekarang)

Sejak itu, open source telah menjadi bagian penting dari industri teknologi. Banyak perusahaan teknologi besar, termasuk Google, Microsoft, dan IBM, sekarang menggunakan, berkontribusi pada, dan bahkan menghasilkan proyek open source. Platform kolaborasi seperti GitHub telah mempermudah bagi pengembang untuk berkolaborasi pada proyek open source. Dan proyek open source seperti Linux, Apache Web Server, dan sistem manajemen basis data MySQL telah menjadi fondasi bagi sebagian besar infrastruktur internet modern.

Lebih detail: History of free and open source software


Daftar newsletter skodev masukkan emailmu untuk dapat informasi menarik dari dunia koding