“apa” dan “mengapa” sumber terbuka

Oleh itu, anda berfikir untuk memulakan dengan sumber terbuka? Tahniah! Dunia menghargai sumbangan anda. Mari kita bincangkan apa itu sumber terbuka dan mengapa orang melakukannya.

Apa maksud “sumber terbuka”?

Apabila projek adalah sumber terbuka, itu bermaksud siapa sahaja bebas menggunakan, mengkaji, mengubah dan menyebarkan projek anda untuk tujuan apa pun. Kebenaran ini diberlakukan melaluian open source license.

Sumber terbuka sangat kuat kerana ia dapat mengurangkan halangan untuk menerima pakai dan berkolaborasi, memungkinkan orang menyebarkan dan memperbaiki projek dengan cepat. Juga kerana memberi pengguna potensi untuk mengendalikan pengkomputeran mereka sendiri, berbanding dengan sumber tertutup. Sebagai contoh, perniagaan yang menggunakan perisian sumber terbuka mempunyai pilihan untuk mengupah seseorang untuk membuat penambahbaikan khusus pada perisian, daripada hanya bergantung pada keputusan produk penjual sumber tertutup.

Perisian percuma merujuk kepada set projek yang sama dengan open source. Kadang-kadang anda juga akan melihatthese terms digabungkan sebagai “perisian sumber bebas dan terbuka” (FOSS) atau “perisian bebas, bebas, dan sumber terbuka” (FLOSS). Free dan libre merujuk kepada kebebasan,bukan harga.

Mengapa orang membuka sumber pekerjaan mereka?

There are many reasons mengapa seseorang atau organisasi ingin membuka sumber projek. Beberapa contoh merangkumi:

  • Kerjasama: Projek sumber terbuka dapat menerima perubahan dari sesiapa sahaja di dunia. Exercism, sebagai contoh, adalah platform latihan pengaturcaraan dengan lebih daripada 350 penyumbang.

  • Adopsi dan pencampuran semula: Projek sumber terbuka dapat digunakan oleh siapa saja untuk hampir semua tujuan. Orang bahkan boleh menggunakannya untuk membina perkara lain.WordPress,sebagai contoh, dimulakan sebagai garpu projek sedia ada yang dipanggil b2.

  • Ketelusan: Sesiapa sahaja dapat memeriksa projek sumber terbuka untuk kesilapan atau ketidakkonsistenan. Perkara ketelusan kepada kerajaan seperti Bulgaria or the United States,industri terkawal seperti perbankan atau penjagaan kesihatan, dan perisian keselamatan seperti Let’s Encrypt.

Sumber terbuka bukan hanya untuk perisian. Anda boleh membuka sumber semuanya dari set data hingga buku. LihatlahGitHub Exploreuntuk idea mengenai apa lagi yang boleh anda buka sumber.

Adakah sumber terbuka bermaksud “percuma”?

Salah satu tarikan terbesar sumber terbuka adalah bahawa ia tidak memerlukan wang. “Percuma”, bagaimanapun, adalah hasil sampingan dari nilai keseluruhan sumber terbuka.

Kerana an open source license requiresbahawa sesiapa sahaja boleh menggunakan, mengubah suai, dan berkongsi projek anda untuk hampir semua tujuan, projek itu sendiri cenderung percuma. Sekiranya projek itu memerlukan wang untuk digunakan, sesiapa sahaja boleh membuat salinan secara sah dan menggunakan versi percuma sebagai gantinya.

Akibatnya, kebanyakan projek sumber terbuka adalah percuma, tetapi “percuma” bukan sebahagian daripada definisi sumber terbuka. Terdapat cara untuk mengenakan bayaran untuk projek sumber terbuka secara tidak langsung melalui pelesenan ganda atau ciri terhad, sementara masih mematuhi definisi rasmi sumber terbuka.

Perlukah saya melancarkan projek sumber terbuka saya sendiri?

Jawapan ringkasnya adalah ya, kerana tidak kira hasilnya, melancarkan projek anda sendiri adalah cara terbaik untuk mengetahui bagaimana sumber terbuka berfungsi.

Sekiranya anda tidak pernah membuka projek bersumber sebelumnya, anda mungkin merasa gementar dengan apa yang orang akan katakan, atau adakah orang akan melihatnya sama sekali. Sekiranya ini terdengar seperti anda, anda tidak bersendirian!

Karya sumber terbuka adalah seperti aktiviti kreatif lain, sama ada penulisan atau lukisan. Rasanya menakutkan untuk berkongsi karya anda dengan dunia, tetapi satu-satunya cara untuk menjadi lebih baik adalah berlatih - walaupun anda tidak mempunyai penonton.

Sekiranya anda belum yakin, luangkan masa untuk memikirkan apakah matlamat anda.

Menetapkan matlamat anda

Matlamat dapat membantu anda mengetahui apa yang harus diusahakan, apa yang harus dikatakan tidak, dan di mana anda memerlukan bantuan daripada orang lain. Mulakan dengan bertanya pada diri sendiri, mengapa saya membuka sumber projek ini?

Tidak ada satu jawapan yang tepat untuk soalan ini. Anda mungkin mempunyai banyak tujuan untuk satu projek, atau projek yang berbeza dengan tujuan yang berbeza.

Sekiranya satu-satunya tujuan anda adalah untuk mempamerkan hasil kerja anda, anda mungkin tidak mahukan sumbangan, dan bahkan mengatakannya dalam README anda. Sebaliknya, jika anda mahukan penyumbang, anda akan meluangkan masa untuk membuat dokumentasi yang jelas dan membuat pendatang baru merasa diterima.

Semasa projek anda berkembang, komuniti anda mungkin memerlukan lebih daripada sekadar kod dari anda. Menanggapi masalah, mengkaji kod, dan menginjil projek anda adalah semua tugas penting dalam projek sumber terbuka.

Walaupun jumlah masa yang anda habiskan untuk tugas bukan pengekodan bergantung pada ukuran dan ruang lingkup projek anda, anda harus bersedia sebagai penyelenggara untuk mengatasinya sendiri atau mencari seseorang untuk membantu anda.

Sekiranya anda merupakan sebahagian daripada syarikat yang memperoleh projek terbuka, pastikan projek anda mempunyai sumber dalaman yang diperlukan untuk berkembang maju. Anda ingin mengenal pasti siapa yang bertanggungjawab untuk mengekalkan projek tersebut selepas pelancaran, dan bagaimana anda akan berkongsi tugas tersebut dengan komuniti anda.

Sekiranya anda memerlukan anggaran atau kakitangan khusus untuk promosi, operasi dan penyelenggaraan projek, mulailah perbincangan tersebut lebih awal.

Menyumbang kepada projek lain

Sekiranya matlamat anda adalah untuk belajar bagaimana berkolaborasi dengan orang lain atau memahami bagaimana sumber terbuka berfungsi, pertimbangkan untuk menyumbang kepada projek yang ada. Mulakan dengan projek yang sudah anda gunakan dan sukai. Menyumbang kepada projek boleh semudah memperbaiki kesalahan ketik atau mengemas kini dokumentasi.

Sekiranya anda tidak pasti cara memulakan sebagai penyumbang, lihat kami How to Contribute to Open Source guide.

Melancarkan projek sumber terbuka anda sendiri

Tidak ada masa yang tepat untuk membuka sumber pekerjaan anda. Anda boleh membuka sumber idea, karya yang sedang berjalan, atau setelah bertahun-tahun menjadi sumber tertutup.

Secara umum, anda harus membuka sumber projek anda apabila anda merasa selesa melihat orang lain, dan memberi maklum balas mengenai kerja anda.

Tidak kira tahap mana anda memutuskan untuk membuka sumber projek anda, setiap projek harus merangkumi dokumentasi berikut:

Sebagai penyelenggara, komponen ini akan membantu anda menyampaikan harapan, menguruskan sumbangan, dan melindungi hak undang-undang setiap orang (termasuk milik anda). Mereka meningkatkan peluang anda untuk mendapat pengalaman positif.

Sekiranya projek anda berada di GitHub, meletakkan fail-fail ini di direktori root anda dengan nama fail yang disyorkan akan membantu GitHub mengenali dan memaparkannya secara automatik kepada pembaca anda.

Memilih lesen

Lesen sumber terbuka menjamin bahawa orang lain dapat menggunakan, menyalin, mengubah suai, dan menyumbang kembali ke projek anda tanpa kesan. Ia juga melindungi anda dari situasi undang-undang yang melekit. Anda mesti menyertakan lesen semasa melancarkan projek sumber terbuka.

Kerja undang-undang tidak menyeronokkan. Berita baiknya ialah anda boleh menyalin dan menampal lesen yang ada ke dalam repositori anda. Hanya perlu satu minit untuk melindungi kerja keras anda.

MIT, Apache 2.0, and GPLv3 adalah lesen sumber terbuka yang paling popular, tetapithere are other options untuk dipilih.

Apabila anda membuat projek baru di GitHub, anda diberi pilihan untuk memilih lesen. Menyertakan lesen sumber terbuka akan menjadikan projek GitHub anda sebagai sumber terbuka.

Pick a license

Sekiranya anda mempunyai pertanyaan atau kebimbangan lain mengenai aspek undang-undang dalam menguruskan projek sumber terbuka, we’ve got you covered.

README melakukan lebih daripada sekadar menjelaskan cara menggunakan projek anda. Mereka juga menjelaskan mengapa projek anda penting, dan apa yang pengguna anda boleh lakukan dengannya.

Dalam README anda, cuba jawab soalan berikut:

  • Apa yang dilakukan oleh projek ini?
  • Mengapa projek ini berguna?
  • Bagaimana saya memulakan?
  • Di mana saya boleh mendapatkan lebih banyak pertolongan, jika saya memerlukannya?

Anda boleh menggunakan README anda untuk menjawab soalan lain, seperti bagaimana anda menangani sumbangan, apakah matlamat projek tersebut, dan maklumat mengenai lesen dan atribusi. Sekiranya anda tidak mahu menerima sumbangan, atau projek anda belum siap untuk dihasilkan, tuliskan maklumat ini.

Kadang-kadang, orang mengelak daripada menulis README kerana mereka merasa projek ini belum selesai, atau mereka tidak mahu sumbangan. Ini semua adalah alasan yang baik untuk menulisnya.

Untuk lebih banyak inspirasi, cuba gunakan @ dguo’s “Make a README” guide or @PurpleBooth’s README templateuntuk menulis BACAAN lengkap.

Apabila anda memasukkan fail README dalam direktori root, GitHub akan memaparkannya secara automatik di halaman utama repositori.

Fail CONTRIBUTING memberitahu penonton anda bagaimana untuk mengambil bahagian dalam projek anda. Contohnya, anda mungkin memasukkan maklumat mengenai:

  • Cara memfailkan laporan pepijat (try using issue and pull request templates)
  • Cara mencadangkan ciri baru
  • Cara mengatur persekitaran anda dan menjalankan ujian

Sebagai tambahan kepada butiran teknikal, fail CONTRIBUTING adalah peluang untuk menyampaikan harapan anda terhadap sumbangan, seperti:

  • Jenis sumbangan yang anda cari
  • Peta jalan atau visi anda untuk projek tersebut
  • Bagaimana penyumbang seharusnya (atau tidak seharusnya) menghubungi anda

Menggunakan nada yang mesra dan mesra serta memberikan cadangan khusus untuk sumbangan (seperti menulis dokumentasi, atau membuat laman web) dapat membuat pendatang baru merasa disambut dan teruja untuk turut serta.

Sebagai contoh, Active Admin memulai its contributing guidedengan:

Pertama, terima kasih kerana mempertimbangkan untuk menyumbang kepada Admin Aktif. Orang seperti anda menjadikan Admin Aktif sebagai alat yang hebat.

Pada peringkat awal projek anda, fail CONTRIBUTING anda boleh dibuat dengan mudah. Anda harus selalu menerangkan cara melaporkan pepijat atau masalah fail, dan sebarang keperluan teknikal (seperti ujian) untuk memberi sumbangan.

Lama kelamaan, anda mungkin menambahkan soalan lain yang sering diajukan ke fail CONTRIBUTING anda. Menulis maklumat ini bermaksud semakin sedikit orang yang akan menanyakan soalan yang sama berulang kali kepada anda.

Untuk lebih banyak bantuan dalam menulis fail CONTRIBUTING anda, lihat@nayafia’s contributing guide template atau @mozilla’s “How to Build a CONTRIBUTING.md”.

Pautkan ke fail CONTRIBUTING anda dari README anda, sehingga lebih banyak orang melihatnya. Jika awak place the CONTRIBUTING file in your project’s repository,GitHub akan memaut ke fail anda secara automatik apabila penyumbang membuat masalah atau membuka permintaan tarik.

Contributing guidelines

Menetapkan tatakelakuan

Akhirnya, kod tingkah laku membantu menetapkan peraturan asas untuk tingkah laku bagi peserta projek anda. Ini amat berharga jika anda melancarkan projek sumber terbuka untuk komuniti atau syarikat. Kod tingkah laku memberi kuasa kepada anda untuk memfasilitasi tingkah laku masyarakat yang sihat dan membina, yang akan mengurangkan tekanan anda sebagai penjaga.

Untuk maklumat lebih lanjut, lihat kami Code of Conduct guide.

Selain berkomunikasi how anda mengharapkan peserta berkelakuan, kod tingkah laku juga cenderung menggambarkan kepada siapa harapan ini berlaku, ketika berlaku, dan apa yang harus dilakukan jika pelanggaran berlaku.

Sama seperti lesen sumber terbuka, terdapat juga piawaian kod tingkah laku yang muncul, jadi anda tidak perlu menulis sendiri. TheContributor Covenant adalah tatakelakuan drop-in yang digunakan oleh over 40,000 open source projects, termasuk Kubernetes, Rails, dan Swift. Tidak kira teks yang anda gunakan, anda harus bersiap sedia untuk menegakkan tatakelakuan anda bila perlu.

Tampal teks terus ke fail CODE_OF_CONDUCT di repositori anda. Simpan fail tersebut di direktori root projek anda sehingga mudah dicari, dan pautkan ke sana dari README anda.

Menamakan dan menjenamakan projek anda

Penjenamaan lebih daripada sekadar logo yang mencolok atau nama projek yang menarik. Ini mengenai bagaimana anda membincangkan projek anda, dan siapa yang anda sampaikan dengan mesej anda.

Memilih nama yang betul

Pilih nama yang senang diingat dan, idealnya, memberi idea tentang apa yang dilakukan oleh projek itu. Sebagai contoh:

  • Sentry memantau aplikasi untuk pelaporan kerosakan
  • Thin adalah pelayan web Ruby yang pantas dan ringkas

Sekiranya anda membina projek yang ada, menggunakan nama mereka sebagai awalan dapat membantu menjelaskan apa yang dilakukan oleh projek anda (contohnya, node-fetch bawah window.fetch ke Node.js).

Pertimbangkan kejelasan di atas semua. Rasa tidak senang, tetapi ingat bahawa beberapa lelucon mungkin tidak diterjemahkan ke budaya lain atau orang yang mempunyai pengalaman berbeza dari anda. Sebilangan pengguna berpotensi anda mungkin merupakan pekerja syarikat: anda tidak mahu membuat mereka tidak selesa apabila mereka harus menjelaskan projek anda di tempat kerja!

Mengelakkan konflik nama

Check for open source projects with a similar name,terutamanya jika anda berkongsi bahasa atau ekosistem yang sama. Sekiranya nama anda bertindih dengan projek sedia ada yang popular, anda mungkin membingungkan khalayak anda.

Sekiranya anda mahukan laman web, pemegang Twitter, atau sifat lain untuk mewakili projek anda, pastikan anda dapat memperoleh nama yang anda mahukan. Sebaik-baiknya, reserve those names now untuk ketenangan fikiran, walaupun anda belum mahu menggunakannya

Pastikan bahawa nama projek anda tidak melanggar tanda dagangan. Syarikat mungkin meminta anda untuk menghentikan projek anda di kemudian hari, atau bahkan mengambil tindakan undang-undang terhadap anda. Ia tidak sepadan dengan risikonya.

Anda boleh menyemak WIPO Global Brand Database untuk konflik tanda dagangan. Sekiranya anda berada di syarikat, ini adalah salah satu perkara yang anda miliki legal team can help you with.

Akhirnya, buat carian Google dengan cepat untuk nama projek anda. Adakah orang dapat mencari projek anda dengan mudah? Adakah perkara lain muncul dalam hasil carian yang anda tidak mahu mereka lihat?

Cara anda menulis (dan kod) juga mempengaruhi jenama anda!

Sepanjang hayat projek anda, anda akan melakukan banyak penulisan: README, tutorial, dokumen komuniti, menanggapi masalah, bahkan mungkin buletin dan senarai surat.

Sama ada dokumentasi rasmi atau e-mel biasa, gaya penulisan anda adalah sebahagian daripada jenama projek anda. Pertimbangkan bagaimana anda dapat menemui audiens anda dan apakah itu nada yang ingin anda sampaikan.

Menggunakan bahasa yang mesra dan inklusif (seperti “mereka”, walaupun merujuk kepada orang bujang) dapat membuat projek anda terasa senang menerima penyumbang baru. Berpeganglah pada bahasa yang mudah, kerana kebanyakan pembaca anda mungkin bukan penutur bahasa Inggeris asli.

Di luar cara anda menulis perkataan, gaya pengekodan anda juga boleh menjadi sebahagian daripada jenama projek anda. Angular dan jQuery adalah dua contoh projek dengan gaya dan garis panduan pengkodan yang ketat.

Anda tidak perlu menulis panduan gaya untuk projek anda semasa anda baru memulakannya, dan anda mungkin merasa senang untuk memasukkan gaya pengkodan yang berbeza ke dalam projek anda pula. Tetapi anda harus menjangkakan bagaimana gaya penulisan dan pengekodan anda dapat menarik atau mencegah pelbagai jenis orang. Peringkat awal projek anda adalah peluang anda untuk menetapkan preseden yang ingin anda lihat.

Senarai semak pra-pelancaran anda

Bersedia untuk membuka sumber projek anda? Berikut adalah senarai semak untuk membantu. Tandakan semua kotak? Anda sudah bersedia untuk pergi! Click “publish” dan tepuk punggung.

Dokumentasi

Code

Orang

Sekiranya anda seorang individu:

Sekiranya anda syarikat atau organisasi:

Kamu lakukan!

Tahniah kerana sumber terbuka projek pertama anda. Tidak kira hasilnya, bekerja di khalayak ramai adalah hadiah untuk masyarakat. Dengan setiap komitmen, komen, dan permintaan tarik, anda mencipta peluang untuk diri sendiri dan orang lain untuk belajar dan berkembang.