Ideologi perisian percuma dan projek GNU: keadaan semasa dan tugas segera. Apakah itu GNU dan GPL

Mana-mana pengguna yang telah mula memahami dunia sistem pengendalian seperti UNIX dan perisian percuma mungkin akan menemui singkatan dalam tajuk.

GNU bermaksud "GNU is not UNIX" dan merujuk kepada projek berskala besar di mana pelbagai perpustakaan sistem dan aplikasi dibangunkan. Semua yang dibuat dalam projek ini adalah sumber terbuka. Ini bermakna sesiapa yang mempunyai pengetahuan pengaturcaraan yang betul boleh menggunakan kod ini sebagai asas untuk pembangunan mereka sendiri, mempunyai hak penuh untuk menukar dan mengedarkannya.

Produk perisian yang dibangunkan dalam projek, ditambah dengan kernel sistem GNU Hard, membentuk asas kepada sistem operasi, yang juga dirujuk sebagai GNU. Tetapi penciptaannya, yang bermula pada tahun 1990, masih belum selesai sehingga kini. Tetapi pada tahun 1991, idea Linus Torvalds muncul - kernel Linux. Di sinilah Projek GNU memainkan peranan yang besar dalam pembangunan Linux sebagai sistem pengendalian. Lagipun, sistem ini bukan sahaja kernel, tetapi satu set penting perisian sistem, termasuk perpustakaan, utiliti, pemacu dan banyak lagi. Dan perkembangan peserta GNU, yang digunakan bersama dengan kernel Linux, yang mendedahkan kepada dunia produk yang kini berjaya bersaing dengan Windows dan MacOS. Dan ia dipanggil "GNU/Linux", dan bahagian pertama paling kerap dibuang, yang, dalam kes umum, adalah salah.

Selain perisian, Projek GNU mencipta Lesen Awam Umum (GNU GPL), yang menjadi lesen utama dalam dunia sumber terbuka dan digunakan secara meluas. Ia mengawal selia pengedaran perisian percuma dan sangat demokratik. Ia menyatakan bahawa mana-mana pengguna mempunyai hak untuk mengubah suai, mengedar dan menggunakan dalam projek mereka kod sumber aplikasi yang dilindungi oleh lesen ini. Pada masa yang sama, semua program subsidiari juga akan tertakluk kepada GPL. Iaitu, pembangun yang menggunakan sumber terbuka juga menghasilkan sumber terbuka, dan lesen itu sendiri diwarisi. Ini adalah peraturan wajib, tetapi terdapat cara untuk memintas GPL dan menutup kod anda sendiri berdasarkan kod terbuka yang digunakan.

GNU dan GPL yang diciptanya telah memberi kesan besar kepada industri teknologi. Perisian percuma telah menarik sejumlah besar pengaturcara berbakat ke industrinya, membentuk komuniti terbesarnya. Produk yang dicipta di bawah GPL bukan sahaja menerima penggunaan praktikal yang meluas, tetapi juga, berkat kod berkualiti tinggi dan boleh diakses, telah menjadi tempat latihan yang sangat baik untuk berjuta-juta pembangun pemula. Konsep pertukaran maklumat sedemikian dan alternatif paling kuat kepada hak cipta tradisional, walaupun tidak jelas, telah dibuat kemungkinan pembangunan perisian dan kini mendapat momentum.

Asalnya diterbitkan dalam buku Sumber Terbuka. Richard Stallman adalah, tetapi menyumbang artikel ini supaya idea pergerakan perisian bebas tidak akan hilang sepenuhnya dari buku itu.

Komuniti perkongsian perisian pertama

Apabila saya mula bekerja di Makmal Kecerdasan Buatan MIT pada tahun 1971, saya menjadi sebahagian daripada komuniti perkongsian perisian yang telah wujud selama bertahun-tahun. Perkongsian perisian tidak terhad kepada komuniti tertentu kami; ia setua komputer, sama seperti perkongsian resipi setua memasak. Tetapi kami melakukannya lebih daripada kebanyakan.

AI ​​Lab menggunakan sistem pengendalian perkongsian masa yang dipanggil ITS (Sistem Perkongsian Masa Tidak Serasi) yang telah direka dan ditulis oleh penggodam kakitangan makmal (1) dalam bahasa penghimpun untuk Digital PDP -10, salah satu komputer besar pada era itu. . Sebagai ahli komuniti ini, penggodam sistem kakitangan AI, tugas saya adalah untuk menambah baik sistem ini.

Kami tidak memanggil perisian kami sebagai "perisian percuma", kerana istilah itu belum wujud; tetapi itulah yang berlaku. Setiap kali orang dari universiti atau syarikat lain ingin berpindah dan menggunakan program, kami dengan senang hati membenarkan mereka. Jika anda melihat seseorang menggunakan program yang tidak dikenali dan menarik, anda sentiasa boleh meminta untuk melihat kod sumber, supaya anda boleh membacanya, menukarnya atau mengkannibalkan sebahagian daripadanya untuk membuat program baharu.

(1) Penggunaan "penggodam" bermaksud "pemecah keselamatan" adalah kekeliruan di pihak media massa. Kami penggodam enggan mengenali makna itu, dan terus menggunakan perkataan itu untuk bermaksud seseorang yang suka memprogram, seseorang yang suka bermain-main atau gabungan kedua-duanya. Lihat artikel saya, Mengenai Penggodaman.

Keruntuhan masyarakat

Keadaan berubah secara drastik pada awal 1980-an apabila Digital menghentikan siri PDP-10. Seni binanya, elegan dan berkuasa pada tahun 60-an, tidak dapat meluas secara semula jadi ke ruang alamat yang lebih besar yang boleh dilaksanakan pada tahun 80-an. Ini bermakna bahawa hampir semua program yang mengarang ITS telah usang.

Komuniti penggodam AI Lab telah pun runtuh, tidak lama sebelum itu. Pada tahun 1981, syarikat spin-off Symbolics telah mengupah hampir semua penggodam dari AI ​​Lab, dan komuniti yang berkurangan tidak dapat mengekalkan dirinya. (Buku Hackers, oleh Steve Levy, menerangkan peristiwa-peristiwa ini, serta memberikan gambaran yang jelas tentang komuniti ini dalam kemuncaknya.) Apabila AI ​​Lab membeli PDP-10 baharu pada tahun 1982, pentadbirnya memutuskan untuk menggunakan Digital" s sistem perkongsian masa bukan percuma dan bukannya ITS.

Komputer moden pada era itu, seperti VAX atau 68020, mempunyai sistem pengendalian mereka sendiri, tetapi tiada satu pun daripada mereka adalah perisian percuma: anda perlu menandatangani perjanjian tidak mendedahkan walaupun untuk mendapatkan salinan boleh laku.

Ini bermakna langkah pertama dalam menggunakan komputer adalah berjanji untuk tidak membantu jiran anda. Masyarakat yang bekerjasama adalah dilarang. Peraturan yang dibuat oleh pemilik perisian proprietari ialah, “Jika anda berkongsi dengan jiran anda, anda adalah lanun. Jika anda mahukan sebarang perubahan, mohon kami lakukannya.”

Idea bahawa sistem sosial perisian proprietari—sistem yang mengatakan anda tidak dibenarkan berkongsi atau menukar perisian—adalah antisosial, bahawa ia tidak beretika, bahawa ia hanya salah, mungkin mengejutkan sesetengah pembaca. Tetapi apa lagi yang boleh kita katakan tentang sistem berdasarkan membahagikan orang ramai dan memastikan pengguna tidak berdaya? Pembaca yang mendapati idea itu mengejutkan mungkin telah mengambil sistem sosial perisian proprietari sebagai diberikan, atau menilainya berdasarkan syarat yang dicadangkan oleh perniagaan perisian proprietari. Penerbit perisian telah bekerja lama dan keras untuk meyakinkan orang ramai bahawa hanya ada satu cara untuk melihat isu ini.

Apabila penerbit perisian bercakap tentang "menguatkuasakan" "hak" mereka atau "menghentikan cetak rompak", perkara yang mereka sebenarnya katakan adalah menengah. Mesej sebenar kenyataan-kenyataan ini adalah dalam andaian tidak dinyatakan yang mereka ambil mudah, yang orang ramai diminta untuk menerima tanpa pemeriksaan. Oleh itu, mari kita periksa mereka.

Satu andaian ialah syarikat perisian mempunyai hak semula jadi yang tidak boleh dipertikaikan untuk memiliki perisian dan dengan itu mempunyai kuasa ke atas semua penggunanya. (Jika ini adalah hak semula jadi, maka tidak kira betapa besar bahayanya kepada orang ramai, kami tidak boleh membantah.) Menariknya, Perlembagaan AS dan tradisi undang-undang menolak pandangan ini; hak cipta bukanlah hak semula jadi, tetapi monopoli buatan kerajaan yang mengehadkan hak semula jadi pengguna untuk menyalin.

Satu lagi andaian yang tidak dinyatakan ialah satu-satunya perkara penting tentang perisian ialah pekerjaan yang dibenarkan untuk anda lakukan—bahawa kami pengguna komputer tidak seharusnya mengambil berat tentang jenis masyarakat yang kami dibenarkan.

Andaian ketiga ialah kami tidak akan mempunyai perisian yang boleh digunakan (atau tidak akan mempunyai program untuk melakukan ini atau kerja tertentu) jika kami tidak menawarkan kuasa syarikat ke atas pengguna program tersebut. Andaian ini mungkin kelihatan munasabah, sebelum pergerakan perisian bebas menunjukkan bahawa kita boleh membuat banyak perisian berguna tanpa meletakkan rantai padanya.

Jika kita enggan menerima andaian ini, dan menilai isu ini berdasarkan moral akal biasa sambil meletakkan pengguna di hadapan, kita mendapat kesimpulan yang sangat berbeza. Pengguna komputer harus bebas untuk mengubah suai program untuk memenuhi keperluan mereka, dan bebas untuk berkongsi perisian, kerana membantu orang lain adalah asas masyarakat.

Pilihan moral yang tegas

Dengan komuniti saya hilang, untuk meneruskan seperti sebelumnya adalah mustahil. Sebaliknya, saya menghadapi pilihan moral yang tegas.

Pilihan mudah adalah untuk menyertai dunia perisian proprietari, menandatangani perjanjian tanpa pendedahan dan berjanji untuk tidak membantu rakan penggodam saya. Kemungkinan besar saya juga akan membangunkan perisian yang dikeluarkan di bawah perjanjian tidak mendedahkan, sekali gus menambah tekanan kepada orang lain untuk mengkhianati rakan mereka juga.

Saya boleh membuat wang dengan cara ini, dan mungkin menghiburkan diri saya menulis kod. Tetapi saya tahu bahawa pada penghujung kerjaya saya, saya akan melihat kembali bertahun-tahun membina tembok untuk memecah belahkan orang, dan merasakan saya telah menghabiskan hidup saya menjadikan dunia menjadi tempat yang lebih teruk.

Saya telah pun mengalami berada di bahagian penerima perjanjian tanpa pendedahan, apabila seseorang enggan memberikan saya dan Makmal AI MIT kod sumber untuk program kawalan untuk pencetak kami. (Ketiadaan ciri tertentu dalam program ini yang menggunakan pencetak amat mengecewakan.) Jadi saya tidak dapat memberitahu diri saya bahawa perjanjian tidak mendedahkan adalah tidak bersalah. Saya sangat marah apabila dia enggan berkongsi dengan kami; Saya tidak boleh berpaling dan melakukan perkara yang sama kepada orang lain.

Pilihan lain, mudah tetapi tidak menyenangkan, adalah meninggalkan medan komputer. Dengan cara itu kemahiran saya tidak akan disalahgunakan, tetapi ia tetap akan dibazirkan. Saya tidak akan bersalah kerana membahagikan dan menyekat pengguna komputer, tetapi ia akan berlaku.

Jadi saya mencari cara yang seorang pengaturcara boleh melakukan sesuatu untuk kebaikan. Saya bertanya kepada diri sendiri, adakah program atau program yang boleh saya tulis, untuk membolehkan komuniti sekali lagi?

Jawapannya jelas: apa yang diperlukan dahulu ialah sistem pengendalian. Itulah perisian penting untuk mula menggunakan komputer. Dengan sistem pengendalian, anda boleh melakukan banyak perkara; tanpa satu, anda tidak boleh menjalankan komputer sama sekali. Dengan sistem pengendalian percuma, kami sekali lagi boleh mempunyai komuniti penggodam yang bekerjasama—dan menjemput sesiapa sahaja untuk menyertainya. Dan sesiapa sahaja boleh menggunakan komputer tanpa bermula dengan berkomplot untuk menghalang rakan-rakannya.

Sebagai pembangun sistem pengendalian, saya mempunyai kemahiran yang sesuai untuk kerja ini. Jadi, walaupun saya tidak boleh mengambil mudah kejayaan, saya sedar bahawa saya telah dipilih untuk melakukan tugas itu. Saya memilih untuk menjadikan sistem itu serasi dengan Unix supaya ia mudah alih, dan supaya pengguna Unix boleh beralih kepadanya dengan mudah. Nama GNU dipilih, mengikut tradisi penggodam, sebagai akronim rekursif untuk "GNU's Not Unix." Ia disebut sebagai satu suku kata dengan g yang keras.

Sistem pengendalian tidak bermakna hanya kernel, hampir tidak cukup untuk menjalankan program lain. Pada tahun 1970-an, setiap sistem pengendalian yang sesuai dengan namanya termasuk pemproses arahan, pemasang, penyusun, jurubahasa, penyahpepijat, penyunting teks, pengirim surat dan banyak lagi. ITS memilikinya, Multics memilikinya, VMS memilikinya, dan Unix memilikinya. Sistem pengendalian GNU akan memasukkannya juga.

Kemudian saya mendengar perkataan ini, dikaitkan dengan Hillel (1):

Jika saya bukan untuk diri saya sendiri, siapa lagi untuk saya?
Jika saya hanya untuk diri saya sendiri, apakah saya?
Jika tidak sekarang apabila?

Keputusan untuk memulakan Projek GNU adalah berdasarkan semangat yang sama.

(1) Sebagai seorang Atheis, saya tidak mengikuti mana-mana pemimpin agama, tetapi saya kadang-kadang mendapati saya mengagumi sesuatu yang dikatakan oleh salah seorang daripada mereka.

Bebas seperti dalam kebebasan

Istilah "perisian percuma" kadangkala disalahertikan—ia tiada kaitan dengan harga. Ia adalah mengenai kebebasan. Oleh itu, di sini adalah definisi perisian percuma.

Program ialah perisian percuma, untuk anda, pengguna tertentu, jika:

  • Anda mempunyai kebebasan untuk menjalankan program mengikut kehendak anda, untuk sebarang tujuan.
  • Anda mempunyai kebebasan untuk mengubah suai program untuk memenuhi keperluan anda. (Untuk menjadikan kebebasan ini berkesan dalam amalan, anda mesti mempunyai akses kepada kod sumber, kerana membuat perubahan dalam program tanpa mempunyai kod sumber adalah amat sukar.)
  • Anda mempunyai kebebasan untuk mengedarkan semula salinan, sama ada secara percuma atau berbayar.
  • Anda mempunyai kebebasan untuk mengedarkan versi program yang diubah suai, supaya komuniti boleh mendapat manfaat daripada peningkatan anda.

Oleh kerana "percuma" merujuk kepada kebebasan, bukan kepada harga, tidak ada percanggahan antara menjual salinan dan perisian percuma. Malah, kebebasan untuk menjual salinan adalah penting: koleksi perisian percuma yang dijual pada CD-ROM adalah penting untuk komuniti, dan menjualnya ialah cara penting untuk mengumpul dana untuk pembangunan perisian percuma. Oleh itu, program yang orang tidak bebas untuk dimasukkan ke dalam koleksi ini bukanlah perisian percuma.

Kerana kekaburan "percuma", orang telah lama mencari alternatif, tetapi tiada siapa yang menemui istilah yang lebih baik. Bahasa Inggeris mempunyai lebih banyak perkataan dan nuansa daripada yang lain, tetapi ia tidak mempunyai perkataan yang ringkas, jelas, yang bermaksud "bebas", seperti dalam kebebasan—"tidak terikat" ialah perkataan yang paling hampir dalam makna. Alternatif seperti "dibebaskan", "kebebasan", dan "terbuka" mempunyai sama ada makna yang salah atau beberapa kelemahan lain.

perisian GNU dan sistem GNU

Membangunkan keseluruhan sistem adalah projek yang sangat besar. Untuk membawanya ke dalam jangkauan, saya memutuskan untuk menyesuaikan dan menggunakan perisian percuma sedia ada di mana-mana yang mungkin. Sebagai contoh, saya memutuskan pada awalnya untuk menggunakan TeX sebagai pemformat teks utama; beberapa tahun kemudian, saya memutuskan untuk menggunakan Sistem Tetingkap X daripada menulis sistem tetingkap lain untuk GNU.

Kerana keputusan ini, dan yang lain seperti mereka, sistem GNU tidak sama dengan koleksi semua perisian GNU. Sistem GNU termasuk program yang bukan perisian GNU, program yang dibangunkan oleh orang lain dan projek untuk tujuan mereka sendiri, tetapi yang boleh kita gunakan kerana ia adalah perisian percuma.

Mengkomunikasikan projek

Pada Januari 1984 saya berhenti kerja di MIT dan mula menulis perisian GNU. Meninggalkan MIT adalah perlu supaya MIT tidak boleh mengganggu pengedaran GNU sebagai perisian percuma. Jika saya kekal sebagai kakitangan, MIT boleh mendakwa memiliki kerja itu, dan boleh mengenakan syarat pengedaran mereka sendiri, atau malah menjadikan kerja itu sebagai pakej perisian proprietari. Saya tidak berniat untuk melakukan banyak kerja hanya untuk melihat ia menjadi tidak berguna untuk tujuan yang dimaksudkan: mewujudkan komuniti perkongsian perisian baharu.

Walau bagaimanapun, Profesor Winston, ketua Makmal MIT AI, dengan hormatnya menjemput saya untuk terus menggunakan kemudahan makmal.

Langkah pertama

Sejurus sebelum memulakan Projek GNU, saya mendengar tentang Free University Compiler Kit, juga dikenali sebagai VUCK. (Perkataan Belanda untuk "percuma" ditulis dengan a v.) Ini ialah pengkompil yang direka untuk mengendalikan berbilang bahasa, termasuk C dan Pascal, dan untuk menyokong berbilang mesin sasaran. Saya menulis kepada pengarangnya bertanya sama ada GNU boleh menggunakannya.

Dia menjawab secara mengejek, menyatakan bahawa universiti itu percuma tetapi penyusunnya tidak. Oleh itu, saya memutuskan bahawa program pertama saya untuk Projek GNU akan menjadi pengkompil berbilang bahasa, berbilang platform.

Berharap untuk mengelakkan keperluan untuk menulis keseluruhan pengkompil sendiri, saya memperoleh kod sumber untuk pengkompil Pastel, yang merupakan pengkompil berbilang platform yang dibangunkan di Lawrence Livermore Lab. Ia disokong, dan ditulis dalam, versi lanjutan Pascal, direka untuk menjadi bahasa pengaturcaraan sistem. Saya menambah hujung hadapan C, dan mula mengalihkannya ke komputer Motorola 68000. Tetapi saya terpaksa melepaskannya apabila saya mendapati bahawa pengkompil memerlukan banyak megabait ruang tindanan, dan sistem 68000 Unix yang tersedia hanya akan membenarkan 64k.

Saya kemudian menyedari bahawa pengkompil Pastel berfungsi dengan menghuraikan keseluruhan fail input ke dalam pepohon sintaks, menukar keseluruhan pepohon sintaks menjadi rangkaian "arahan", dan kemudian menjana keseluruhan fail output, tanpa pernah membebaskan sebarang storan. Pada ketika ini, saya membuat kesimpulan bahawa saya perlu menulis penyusun baru dari awal. Pengkompil baharu itu kini dikenali sebagai GCC; tiada pengkompil Pastel digunakan di dalamnya, tetapi saya berjaya menyesuaikan diri dan menggunakan bahagian hadapan C yang telah saya tulis. Tetapi itu adalah beberapa tahun kemudian; pertama, saya bekerja pada GNU Emacs.

GNU Emacs

Saya mula bekerja pada GNU Emacs pada September 1984, dan pada awal 1985 ia mula boleh digunakan. Ini membolehkan saya mula menggunakan sistem Unix untuk melakukan penyuntingan; tidak berminat untuk belajar menggunakan vi atau ed, saya telah melakukan penyuntingan pada mesin jenis lain sehingga itu.

Pada ketika ini, orang ramai mula mahu menggunakan GNU Emacs, yang menimbulkan persoalan tentang cara mengedarkannya. Sudah tentu, saya meletakkannya pada pelayan ftp tanpa nama pada komputer MIT yang saya gunakan. (Komputer ini, prep.ai.mit.edu, dengan itu menjadi tapak pengedaran ftp GNU utama; apabila ia ditamatkan operasi beberapa tahun kemudian, kami memindahkan nama itu ke pelayan ftp baharu kami.) Tetapi pada masa itu, ramai yang berminat orang tidak berada di Internet dan tidak boleh mendapatkan salinan mengikut ftp. Jadi persoalannya, apa yang akan saya katakan kepada mereka?

Saya boleh berkata, "Cari rakan yang ada di internet dan yang akan membuat salinan untuk anda." Atau saya boleh melakukan apa yang saya lakukan dengan PDP-10 Emacs asal: beritahu mereka, "Hantarkan saya pita dan SASE , dan saya akan hantar semula dengan Emacs." Tetapi saya tidak mempunyai pekerjaan, dan saya sedang mencari cara untuk menjana wang daripada perisian percuma. Jadi saya mengumumkan bahawa saya akan menghantar pita kepada sesiapa yang mahukannya, dengan bayaran $150. Dengan cara ini, saya memulakan perniagaan pengedaran perisian percuma, pelopor syarikat yang hari ini mengedarkan keseluruhan pengedaran sistem GNU/Linux.

Adakah program percuma untuk setiap pengguna?

Jika program adalah perisian percuma apabila ia meninggalkan tangan pengarangnya, ini tidak semestinya bermakna ia akan menjadi perisian percuma untuk semua orang yang mempunyai salinannya. Contohnya, perisian domain awam (perisian yang tidak berhak cipta) ialah perisian percuma; tetapi sesiapa sahaja boleh membuat versi diubah suai proprietarinya. Begitu juga, banyak program percuma mempunyai hak cipta tetapi diedarkan di bawah lesen permisif mudah yang membenarkan versi diubah suai proprietari.

Contoh paradigmatik masalah ini ialah Sistem Tetingkap X. Dibangunkan di MIT, dan dikeluarkan sebagai perisian percuma dengan lesen permisif, ia tidak lama kemudian diterima pakai oleh pelbagai syarikat komputer. Mereka menambah X pada sistem Unix proprietari mereka, dalam bentuk binari sahaja, dan dilindungi oleh perjanjian tidak mendedahkan yang sama. Salinan X ini bukan perisian percuma berbanding Unix.

Pembangun Sistem Tetingkap X tidak menganggap ini sebagai masalah—mereka menjangka dan berniat perkara ini berlaku. Matlamat mereka bukanlah kebebasan, hanya "kejayaan", yang ditakrifkan sebagai "mempunyai ramai pengguna." Mereka tidak peduli sama ada pengguna ini mempunyai kebebasan, cuma mereka sepatutnya ramai.

Ini membawa kepada situasi paradoks di mana dua cara berbeza untuk mengira jumlah kebebasan memberikan jawapan yang berbeza kepada soalan, "Adakah program ini percuma?" Jika anda menilai berdasarkan kebebasan yang diberikan oleh syarat pengedaran keluaran MIT, anda akan mengatakan bahawa X ialah perisian percuma. Tetapi jika anda mengukur kebebasan purata pengguna X, anda perlu mengatakan ia adalah perisian proprietari. Kebanyakan pengguna X menjalankan versi proprietari yang disertakan dengan sistem Unix, bukan versi percuma.

Copyleft dan GNU GPL

Matlamat GNU adalah untuk memberi kebebasan kepada pengguna, bukan hanya untuk menjadi popular. Jadi kami perlu menggunakan istilah pengedaran yang akan menghalang perisian GNU daripada diubah menjadi perisian proprietari. Kaedah yang kami gunakan dipanggil "copyleft".(1)

Copyleft menggunakan undang-undang hak cipta, tetapi membalikkannya untuk melaksanakan tujuan yang bertentangan dengan tujuan biasa: bukannya cara untuk menyekat program, ia menjadi cara untuk memastikan program itu bebas.

Idea utama copyleft ialah kami memberi semua orang kebenaran untuk menjalankan program, menyalin program, mengubah suai program dan mengedarkan versi yang diubah suai—tetapi bukan kebenaran untuk menambah sekatan mereka sendiri. Oleh itu, kebebasan penting yang mentakrifkan "perisian percuma" dijamin kepada semua orang yang mempunyai salinan; mereka menjadi hak yang tidak boleh dipisahkan.

Untuk copyleft yang berkesan, versi yang diubah suai juga mestilah percuma. Ini memastikan kerja berdasarkan karya kami tersedia kepada komuniti kami jika ia diterbitkan. Apabila pengaturcara yang mempunyai pekerjaan sebagai pengaturcara secara sukarela untuk menambah baik perisian GNU, ia adalah copyleft yang menghalang majikan mereka daripada berkata, "Anda tidak boleh berkongsi perubahan tersebut, kerana kami akan menggunakannya untuk membuat versi proprietari program kami."

Keperluan bahawa perubahan mestilah percuma adalah penting jika kita ingin memastikan kebebasan untuk setiap pengguna program. Syarikat yang menswastakan Sistem Tetingkap X biasanya membuat beberapa perubahan untuk memindahkannya ke sistem dan perkakasan mereka. Perubahan ini adalah kecil berbanding dengan tahap besar X, tetapi mereka tidak remeh. Jika membuat perubahan adalah alasan untuk menafikan kebebasan pengguna, adalah mudah bagi sesiapa sahaja untuk mengambil kesempatan daripada alasan tersebut.

Isu berkaitan ialah menggabungkan program percuma dengan kod bukan percuma. Gabungan sebegitu pasti tidak akan bebas; mana-mana kebebasan yang kurang untuk bahagian yang tidak bebas akan menjadi kurang untuk keseluruhannya juga. Untuk membenarkan kombinasi sedemikian akan membuka lubang yang cukup besar untuk menenggelamkan kapal. Oleh itu, keperluan penting untuk copyleft ialah memasang lubang ini: apa-apa yang ditambahkan pada atau digabungkan dengan program copyleft mestilah sedemikian rupa sehingga versi gabungan yang lebih besar juga percuma dan copyleft.

Pelaksanaan khusus copyleft yang kami gunakan untuk kebanyakan perisian GNU ialah GNU General Public License, atau singkatannya GNU GPL. Kami mempunyai jenis copyleft lain yang digunakan dalam keadaan tertentu. Manual GNU adalah copyleft juga, tetapi menggunakan jenis copyleft yang lebih mudah, kerana kerumitan GNU GPL tidak diperlukan untuk manual.(2)

(1) Pada tahun 1984 atau 1985, Don Hopkins (seorang rakan yang sangat imaginatif) menghantar surat kepada saya. Pada sampul surat itu dia telah menulis beberapa kata-kata lucu, termasuk yang ini: "Copyleft—semua hak terbalik." Saya menggunakan perkataan "copyleft" untuk menamakan konsep pengedaran yang saya bangunkan pada masa itu.

Pekerja Yayasan Perisian Percuma telah menulis dan menyelenggara beberapa pakej perisian GNU. Dua yang ketara ialah perpustakaan C dan shell. Pustaka GNU C ialah apa yang digunakan oleh setiap program yang dijalankan pada sistem GNU/Linux untuk berkomunikasi dengan Linux. Ia dibangunkan oleh ahli kakitangan Yayasan Perisian Percuma, Roland McGrath. Cangkang yang digunakan pada kebanyakan sistem GNU/Linux ialah BASH , Bourne Again Shell(1), yang dibangunkan oleh pekerja FSF Brian Fox.

Kami membiayai pembangunan program ini kerana Projek GNU bukan hanya mengenai alat atau persekitaran pembangunan. Matlamat kami ialah sistem pengendalian yang lengkap, dan program ini diperlukan untuk matlamat tersebut.

(1) "Bourne Again Shell" ialah permainan atas nama "Bourne Shell", yang merupakan shell biasa di Unix.

Sokongan perisian percuma

Falsafah perisian percuma menolak amalan perniagaan khusus yang meluas, tetapi ia tidak bertentangan dengan perniagaan. Apabila perniagaan menghormati kebebasan pengguna, kami mendoakan kejayaan mereka.

Menjual salinan Emacs menunjukkan satu jenis perniagaan perisian percuma. Apabila FSF mengambil alih perniagaan itu, saya memerlukan cara lain untuk mencari rezeki. Saya menemuinya dalam menjual perkhidmatan yang berkaitan dengan perisian percuma yang saya bangunkan. Ini termasuk pengajaran, untuk mata pelajaran seperti cara memprogram GNU Emacs dan cara menyesuaikan GCC, dan pembangunan perisian, kebanyakannya mengalihkan GCC ke platform baharu.

Hari ini setiap jenis perniagaan perisian percuma ini diamalkan oleh beberapa syarikat. Sesetengah mengedarkan koleksi perisian percuma pada CD-ROM; yang lain menjual sokongan pada tahap yang terdiri daripada menjawab soalan pengguna, untuk membetulkan pepijat, untuk menambah ciri baharu utama. Kami juga mula melihat syarikat perisian percuma berdasarkan pelancaran produk perisian percuma baharu.

Namun, berhati-hati—beberapa syarikat yang mengaitkan diri mereka dengan istilah "sumber terbuka" sebenarnya mendasarkan perniagaan mereka pada perisian bukan percuma yang berfungsi dengan perisian percuma. Ini bukan syarikat perisian percuma, mereka adalah syarikat perisian proprietari yang produknya menggoda pengguna daripada kebebasan. Mereka memanggil program ini "pakej nilai tambah", yang menunjukkan nilai yang mereka ingin kita pakai: kemudahan melebihi kebebasan. Jika kita lebih menghargai kebebasan, kita harus memanggilnya pakej "tolak kebebasan".

Matlamat teknikal

Matlamat utama GNU adalah untuk menjadi perisian percuma. Walaupun GNU tidak mempunyai kelebihan teknikal berbanding Unix, ia akan mempunyai kelebihan sosial, membolehkan pengguna bekerjasama, dan kelebihan etika, menghormati kebebasan pengguna.

Tetapi adalah wajar untuk menggunakan piawaian amalan baik yang diketahui pada kerja itu—contohnya, memperuntukkan struktur data secara dinamik untuk mengelakkan had saiz tetap yang sewenang-wenangnya dan mengendalikan semua kemungkinan kod 8-bit di mana-mana sahaja yang masuk akal.

Di samping itu, kami menolak fokus Unix pada saiz memori yang kecil, dengan memutuskan untuk tidak menyokong mesin 16-bit (jelas bahawa mesin 32-bit akan menjadi kebiasaan pada masa sistem GNU selesai), dan tidak berusaha untuk mengurangkan penggunaan memori melainkan ia melebihi megabait. Dalam program yang mengendalikan fail yang sangat besar tidak penting, kami menggalakkan pengaturcara membaca keseluruhan fail input ke dalam teras, kemudian mengimbas kandungannya tanpa perlu risau tentang I/O.

Keputusan ini membolehkan banyak program GNU mengatasi rakan Unix mereka dalam kebolehpercayaan dan kelajuan.

Komputer yang didermakan

Apabila reputasi Projek GNU berkembang, orang ramai mula menawarkan untuk menderma mesin yang menjalankan Unix kepada projek ini, kerana cara paling mudah untuk membangunkan komponen GNU adalah dengan melakukannya pada sistem Unix, dan menggantikan komponen sistem itu satu. oleh satu. Tetapi mereka membangkitkan isu etika: sama ada betul untuk kami mempunyai salinan Unix sama sekali.

Unix adalah (dan adalah) perisian proprietari, dan falsafah Projek GNU mengatakan bahawa kita tidak sepatutnya menggunakan perisian proprietari Tetapi, menggunakan alasan yang sama yang membawa kepada kesimpulan bahawa keganasan dalam pertahanan diri adalah wajar, saya membuat kesimpulan bahawa ia adalah sah untuk digunakan. pakej proprietari apabila itu penting untuk membangunkan pengganti percuma yang akan membantu orang lain berhenti menggunakan pakej proprietari.

Tetapi, walaupun ini adalah kejahatan yang wajar, ia tetap kejahatan. Hari ini kami tidak lagi mempunyai sebarang salinan Unix, kerana kami telah menggantikannya dengan sistem pengendalian percuma. Jika kami tidak dapat menggantikan sistem pengendalian mesin dengan yang percuma, kami menggantikan mesin itu.

Senarai Tugas GNU

Apabila Projek GNU diteruskan, dan peningkatan bilangan komponen sistem ditemui atau dibangunkan, akhirnya menjadi berguna untuk membuat senarai jurang yang tinggal. Kami menggunakannya untuk merekrut pembangun untuk menulis bahagian yang hilang. Senarai ini dikenali sebagai Senarai Tugas GNU. Selain kehilangan komponen Unix, kami menyenaraikan pelbagai perisian berguna dan projek dokumentasi lain yang, kami fikir, sistem yang benar-benar lengkap sepatutnya ada.

Hari ini (1), hampir tidak ada komponen Unix yang tinggal dalam Senarai Tugas GNU—kerja tersebut telah dilakukan, selain daripada beberapa yang tidak penting. Tetapi senarai itu penuh dengan projek yang mungkin dipanggil "aplikasi". Sebarang program yang menarik minat lebih daripada kelas pengguna yang sempit akan menjadi perkara yang berguna untuk ditambahkan pada sistem pengendalian.

Malah permainan turut disertakan dalam senarai tugasan—dan telah wujud sejak awal. Unix termasuk permainan, jadi semestinya GNU juga perlu. Tetapi keserasian tidak menjadi masalah untuk permainan, jadi kami tidak mengikuti senarai permainan yang Unix miliki. Sebaliknya, kami menyenaraikan spektrum pelbagai jenis permainan yang mungkin disukai pengguna.

(1) Itu ditulis pada tahun 1998. Pada tahun 2009 kami tidak lagi mengekalkan senarai tugas yang panjang. Komuniti membangunkan perisian percuma begitu pantas sehingga kami tidak dapat menjejaki semuanya. Sebaliknya, kami mempunyai senarai Projek Keutamaan Tinggi, senarai projek yang lebih pendek yang kami benar-benar ingin menggalakkan orang ramai menulis.

Perpustakaan GNU GPL

Pustaka GNU C menggunakan jenis copyleft khas yang dipanggil GNU Library General Public License(1), yang memberikan kebenaran untuk memautkan perisian proprietari dengan perpustakaan. Mengapa membuat pengecualian ini?

Ia bukan soal prinsip; tiada prinsip yang mengatakan produk perisian proprietari berhak untuk memasukkan kod kami. (Mengapa menyumbang kepada projek yang berteraskan enggan berkongsi dengan kami?) Menggunakan LGPL untuk perpustakaan C, atau untuk mana-mana perpustakaan, adalah soal strategi.

Perpustakaan C melakukan kerja generik; setiap sistem proprietari atau pengkompil dilengkapi dengan perpustakaan C. Oleh itu, untuk menjadikan perpustakaan C kami hanya tersedia untuk perisian percuma tidak akan memberikan sebarang kelebihan kepada perisian percuma—ia hanya akan tidak menggalakkan penggunaan perpustakaan kami.

Satu sistem adalah pengecualian untuk ini: pada sistem GNU (dan ini termasuk GNU/Linux), perpustakaan GNU C ialah satu-satunya perpustakaan C. Jadi syarat pengedaran pustaka GNU C menentukan sama ada mungkin untuk menyusun atur cara proprietari untuk sistem GNU. Tidak ada sebab etika untuk membenarkan aplikasi proprietari pada sistem GNU, tetapi secara strategik nampaknya jika tidak membenarkannya akan lebih menghalang penggunaan sistem GNU daripada menggalakkan pembangunan aplikasi percuma. Itulah sebabnya menggunakan GPL Perpustakaan adalah strategi yang baik untuk perpustakaan C.

Untuk perpustakaan lain, keputusan strategik perlu dipertimbangkan mengikut kes. Apabila perpustakaan melakukan tugas khas yang boleh membantu menulis jenis program tertentu, kemudian mengeluarkannya di bawah GPL, mengehadkannya kepada program percuma sahaja, adalah cara membantu pembangun perisian percuma lain, memberikan mereka kelebihan berbanding perisian proprietari.

Pertimbangkan GNU Readline, perpustakaan yang dibangunkan untuk menyediakan penyuntingan baris arahan untuk BASH. Readline dikeluarkan di bawah GNU GPL biasa, bukan Library GPL. Ini mungkin mengurangkan jumlah Readline yang digunakan, tetapi itu tidak merugikan kami. Sementara itu, sekurang-kurangnya satu aplikasi yang berguna telah membuat perisian percuma secara khusus supaya ia boleh menggunakan Readline, dan itu adalah keuntungan sebenar untuk komuniti.

Pembangun perisian proprietari mempunyai kelebihan yang disediakan oleh wang; pembangun perisian percuma perlu membuat kelebihan antara satu sama lain. Saya berharap suatu hari nanti kita akan mempunyai koleksi besar perpustakaan yang diliputi GPL yang tidak mempunyai persamaan yang tersedia untuk perisian proprietari, menyediakan modul berguna untuk berfungsi sebagai blok binaan dalam perisian percuma baharu, dan menambah kelebihan utama untuk pembangunan perisian percuma selanjutnya.

(1) Lesen ini kini dipanggil Lesen Awam Rendah GNU, untuk mengelak daripada memberi idea bahawa semua perpustakaan harus menggunakannya. Lihat Sebab anda tidak sepatutnya menggunakan GPL Kecil untuk pustaka anda yang seterusnya untuk mendapatkan maklumat lanjut.

menggaru gatal?

Eric Raymond mengatakan bahawa "Setiap kerja perisian yang baik bermula dengan menggaru gatal peribadi pembangun." Mungkin itu berlaku kadang-kadang, tetapi banyak perisian GNU yang penting telah dibangunkan untuk mempunyai sistem pengendalian percuma yang lengkap Ia datang dari visi dan rancangan, bukan dari dorongan.

Sebagai contoh, kami membangunkan perpustakaan GNU C kerana sistem seperti Unix memerlukan perpustakaan C, BASH kerana sistem seperti Unix memerlukan shell, dan tar GNU kerana sistem seperti Unix memerlukan program tar. Perkara yang sama berlaku untuk program saya sendiri—pengkompil GNU C, GNU Emacs, GDB dan GNU Make.

Beberapa program GNU telah dibangunkan untuk menghadapi ancaman khusus terhadap kebebasan kita. Oleh itu, kami membangunkan gzip untuk menggantikan program Compress, yang telah hilang kepada komuniti kerana paten LZW. Kami menemui orang untuk membangunkan LessTif, dan baru-baru ini memulakan GNOME dan Harmony, untuk menangani masalah yang disebabkan oleh perpustakaan proprietari tertentu (lihat di bawah). Kami sedang membangunkan Pengawal Privasi GNU untuk menggantikan perisian penyulitan bukan percuma yang popular, kerana pengguna tidak perlu memilih antara privasi dan kebebasan.

Sudah tentu, orang yang menulis program ini menjadi berminat dengan kerja itu, dan banyak ciri telah ditambahkan kepada mereka oleh pelbagai orang demi keperluan dan minat mereka sendiri. Tetapi itu bukan sebab program itu wujud.

Perkembangan yang tidak dijangka

Pada permulaan Projek GNU, saya membayangkan bahawa kita akan membangunkan keseluruhan sistem GNU, kemudian mengeluarkannya secara keseluruhan. Itu bukan bagaimana ia berlaku.

Memandangkan setiap komponen sistem GNU telah dilaksanakan pada sistem Unix, setiap komponen boleh berjalan pada sistem Unix lama sebelum sistem GNU yang lengkap wujud. Beberapa program ini menjadi popular, dan pengguna mula memanjangkannya dan mengalihkannya—ke pelbagai versi Unix yang tidak serasi, dan kadangkala ke sistem lain juga.

Proses ini menjadikan program ini lebih berkuasa, dan menarik kedua-dua dana dan penyumbang kepada Projek GNU. Tetapi ia mungkin juga menangguhkan penyiapan sistem kerja yang minimum selama beberapa tahun, kerana masa pembangun GNU telah diluangkan untuk mengekalkan port ini dan menambah ciri pada komponen sedia ada, dan bukannya meneruskan untuk menulis satu demi satu komponen yang hilang.

GNU Hurd

Menjelang tahun 1990, sistem GNU hampir siap; satu-satunya komponen utama yang hilang ialah kernel. Kami telah memutuskan untuk melaksanakan kernel kami sebagai koleksi proses pelayan yang berjalan di atas Mach. Mach ialah mikrokernel yang dibangunkan di Carnegie Mellon University dan kemudian di University of Utah; GNU Hurd ialah koleksi pelayan (iaitu, kumpulan GNU) yang berjalan di atas Mach, dan melakukan pelbagai kerja kernel Unix. Permulaan pembangunan telah ditangguhkan kerana kami menunggu Mach dikeluarkan sebagai perisian percuma, seperti yang telah dijanjikan.

Satu sebab untuk memilih reka bentuk ini adalah untuk mengelakkan apa yang kelihatannya merupakan bahagian yang paling sukar dalam tugas: menyahpepijat atur cara kernel tanpa penyahpepijat peringkat sumber untuk melakukannya. Bahagian kerja ini telah pun dilakukan, dalam Mach, dan kami menjangkakan untuk menyahpepijat pelayan Hurd sebagai program pengguna, dengan GDB. Tetapi ia mengambil masa yang lama untuk menjadikannya mungkin, dan pelayan berbilang benang yang menghantar mesej antara satu sama lain ternyata sangat sukar untuk dinyahpepijat. Membuat Hurd berfungsi dengan mantap telah dilanjutkan selama bertahun-tahun.

Alix

Kernel GNU pada asalnya tidak sepatutnya dipanggil Hurd. Nama asalnya ialah Alix—dinamakan sempena nama wanita yang menjadi kekasih hati saya ketika itu. Dia, pentadbir sistem Unix, telah menunjukkan bagaimana namanya sesuai dengan corak penamaan biasa untuk versi sistem Unix; sebagai jenaka, dia memberitahu rakan-rakannya, "Seseorang harus menamakan kernel dengan nama saya." Saya tidak berkata apa-apa, tetapi memutuskan untuk mengejutkannya dengan kernel bernama Alix.

Ia tidak kekal begitu. Michael (kini Thomas) Bushnell, pembangun utama kernel, memilih nama Hurd, dan mentakrifkan semula Alix untuk merujuk kepada bahagian tertentu kernel—bahagian yang akan memerangkap panggilan sistem dan mengendalikannya dengan menghantar mesej kepada pelayan Hurd.

Kemudian, Alix dan saya berpisah, dan dia menukar namanya; secara bebas, reka bentuk Hurd telah diubah supaya perpustakaan C akan menghantar mesej terus ke pelayan, dan ini menjadikan komponen Alix hilang daripada reka bentuk.

Tetapi sebelum perkara ini berlaku, seorang rakannya terjumpa nama Alix dalam kod sumber Hurd, dan menyebutnya kepadanya. Jadi dia mempunyai peluang untuk mencari kernel yang dinamakan sempena namanya.

Linux dan GNU/Linux

GNU Hurd tidak sesuai untuk kegunaan pengeluaran, dan kami tidak tahu sama ada ia akan berlaku. Reka bentuk berasaskan keupayaan mempunyai masalah yang berpunca secara langsung daripada fleksibiliti reka bentuk, dan tidak jelas sama ada penyelesaian wujud.

Nasib baik, kernel lain tersedia. Pada tahun 1991, Linus Torvalds membangunkan kernel yang serasi dengan Unix dan memanggilnya Linux. Ia adalah proprietari pada mulanya, tetapi pada tahun 1992, dia menjadikannya perisian percuma; menggabungkan Linux dengan sistem GNU yang tidak lengkap menghasilkan sistem pengendalian percuma yang lengkap. (Sudah tentu, menggabungkan mereka adalah tugas yang besar.) Disebabkan oleh Linux, kita sebenarnya boleh menjalankan versi sistem GNU hari ini.

Cabaran di masa hadapan kita

Kami telah membuktikan keupayaan kami untuk membangunkan spektrum luas perisian percuma. Ini tidak bermakna kita tidak dapat dikalahkan dan tidak dapat dihalang. Beberapa cabaran menjadikan masa depan perisian percuma tidak menentu; bertemu mereka memerlukan usaha dan ketahanan yang gigih, kadang-kadang berlarutan selama bertahun-tahun. Ia memerlukan jenis keazaman yang ditunjukkan oleh orang apabila mereka menghargai kebebasan mereka dan tidak akan membiarkan sesiapa mengambilnya.

Empat bahagian berikut membincangkan cabaran ini.

perkakasan rahsia

Pengeluar perkakasan semakin cenderung untuk merahsiakan spesifikasi perkakasan. Ini menyukarkan untuk menulis pemacu percuma supaya Linux dan XFree86 boleh menyokong perkakasan baharu. Kami mempunyai sistem percuma yang lengkap hari ini, tetapi kami tidak akan memilikinya esok jika kami tidak dapat menyokong komputer esok.

Terdapat dua cara untuk mengatasi masalah ini. Pengaturcara boleh melakukan kejuruteraan terbalik untuk memikirkan cara menyokong perkakasan. Selebihnya daripada kita boleh memilih perkakasan yang disokong oleh perisian percuma; apabila bilangan kami bertambah, kerahsiaan spesifikasi akan menjadi dasar yang merugikan diri sendiri.

Kejuruteraan terbalik adalah kerja besar; adakah kita mempunyai pengaturcara yang mempunyai keazaman yang mencukupi untuk melaksanakannya? Ya—jika kami telah membina perasaan yang kuat bahawa perisian percuma adalah soal prinsip, dan pemandu bukan bebas tidak boleh diterima. Dan adakah sebilangan besar daripada kita akan membelanjakan wang tambahan, atau sedikit masa tambahan, supaya kita boleh menggunakan pemandu percuma? Ya, jika keazaman untuk memiliki kebebasan berleluasa.

(nota 2008: isu ini meluas ke BIOS juga. Terdapat BIOS percuma, LibreBoot (pengedaran coreboot); masalahnya ialah mendapatkan spesifikasi mesin supaya LibreBoot boleh menyokongnya tanpa "gumpalan" bukan percuma)

Perpustakaan bukan percuma

Pustaka bukan percuma yang berjalan pada sistem pengendalian percuma bertindak sebagai perangkap untuk pembangun perisian percuma. Ciri-ciri menarik perpustakaan ialah umpan; jika anda menggunakan perpustakaan, anda akan jatuh ke dalam perangkap, kerana program anda tidak boleh menjadi sebahagian daripada sistem pengendalian percuma. (Tegasnya, kami boleh memasukkan program anda, tetapi ia tidak akan lari dengan perpustakaan hilang.) Lebih teruk lagi, jika program yang menggunakan perpustakaan proprietari menjadi popular, ia boleh menarik pengaturcara lain yang tidak curiga ke dalam perangkap.

Contoh pertama masalah ini ialah kit alat Motif, pada tahun 80-an. Walaupun masih belum ada sistem pengendalian percuma, jelas masalah yang akan ditimbulkan oleh Motif kepada mereka di kemudian hari. Projek GNU bertindak balas dalam dua cara: dengan meminta projek perisian percuma individu untuk menyokong widget X Toolkit percuma serta Motif, dan dengan meminta seseorang menulis pengganti percuma untuk Motif. Kerja itu mengambil masa bertahun-tahun; LessTif, dibangunkan oleh Pengaturcara Lapar, menjadi cukup kuat untuk menyokong kebanyakan aplikasi Motif hanya pada tahun 1997.

Antara 1996 dan 1998, satu lagi pustaka kit alat GUI bukan percuma, dipanggil Qt, telah digunakan dalam koleksi besar perisian percuma, desktop KDE.

Sistem GNU/Linux percuma tidak dapat menggunakan KDE, kerana kami tidak dapat menggunakan perpustakaan. Walau bagaimanapun, beberapa pengedar komersil sistem GNU/Linux yang tidak tegas dalam menggunakan perisian percuma menambahkan KDE pada sistem mereka—menghasilkan sistem dengan lebih banyak keupayaan, tetapi kurang kebebasan. Kumpulan KDE secara aktif menggalakkan lebih ramai pengaturcara untuk menggunakan Qt, dan berjuta-juta "pengguna Linux" baharu tidak pernah didedahkan kepada idea bahawa terdapat masalah dalam hal ini. Keadaan kelihatan suram.

Komuniti perisian percuma bertindak balas kepada masalah itu dalam dua cara: GNOME dan Harmony.

GNOME, Persekitaran Model Objek Rangkaian GNU, ialah projek desktop GNU. Dimulakan pada tahun 1997 oleh Miguel de Icaza, dan dibangunkan dengan sokongan Perisian Red Hat, GNOME berhasrat untuk menyediakan kemudahan desktop yang serupa, tetapi menggunakan perisian percuma secara eksklusif. Ia mempunyai kelebihan teknikal juga, seperti menyokong pelbagai bahasa, bukan sahaja C++ Tetapi tujuan utamanya ialah kebebasan: tidak memerlukan penggunaan mana-mana perisian bukan percuma.

Harmony ialah perpustakaan gantian yang serasi, direka untuk membolehkan perisian KDE dijalankan tanpa menggunakan Qt.

Pada November 1998, pembangun Qt mengumumkan pertukaran lesen yang, apabila dijalankan, akan menjadikan perisian percuma Qt. Tidak ada cara untuk memastikannya, tetapi saya berpendapat bahawa ini sebahagiannya disebabkan oleh tindak balas tegas masyarakat terhadap masalah yang ditimbulkan Qt apabila ia tidak bebas. (Lesen baharu itu menyusahkan dan tidak saksama, jadi tetap wajar untuk mengelak daripada menggunakan Qt.)

Bagaimanakah kita akan bertindak balas terhadap perpustakaan bukan percuma yang menggoda seterusnya? Adakah seluruh masyarakat memahami keperluan untuk menjauhi perangkap? Atau adakah ramai di antara kita akan melepaskan kebebasan untuk kemudahan, dan menghasilkan masalah besar? Masa depan kita bergantung pada falsafah kita.

Paten perisian

Ancaman terburuk yang kami hadapi datang daripada paten perisian, yang boleh meletakkan algoritma dan ciri di luar had kepada perisian percuma sehingga dua puluh tahun. Paten algoritma pemampatan LZW telah digunakan pada tahun 1983, dan kami masih tidak dapat mengeluarkan perisian percuma untuk menghasilkan GIF termampat yang betul. Pada tahun 1998, program percuma untuk menghasilkan audio termampat MP3 telah dikeluarkan daripada pengedaran di bawah ancaman saman paten.

Terdapat cara untuk menangani paten: kita boleh mencari bukti bahawa paten adalah tidak sah, dan kita boleh mencari cara alternatif untuk melakukan sesuatu kerja. Tetapi setiap kaedah ini hanya berfungsi kadang-kadang; apabila kedua-duanya gagal, paten mungkin memaksa semua perisian percuma kekurangan beberapa ciri yang pengguna inginkan. Selepas menunggu lama, paten tamat tempoh (paten MP3 dijangka tamat pada 2018), tetapi apa yang akan kita lakukan sehingga itu?

Kami yang menghargai perisian percuma demi kebebasan akan tetap menggunakan perisian percuma. Kami akan berjaya menyelesaikan kerja tanpa ciri yang dipatenkan. Tetapi mereka yang menghargai perisian percuma kerana mereka menjangkakan ia lebih unggul dari segi teknikal mungkin akan memanggilnya kegagalan apabila paten menahannya Oleh itu, walaupun adalah berguna untuk bercakap tentang keberkesanan praktikal model pembangunan "bazaar", dan kebolehpercayaan dan kuasa beberapa perisian percuma, kita tidak boleh berhenti di situ.

Dokumentasi percuma

Kekurangan terbesar dalam sistem pengendalian percuma kami bukan pada perisian—ia adalah kekurangan manual percuma yang baik yang boleh kami sertakan dalam sistem kami. Dokumentasi adalah bahagian penting dalam mana-mana pakej perisian; apabila pakej perisian percuma yang penting tidak disertakan dengan manual percuma yang baik, itu adalah jurang yang besar. Kami mempunyai banyak jurang seperti itu hari ini.

Dokumentasi percuma, seperti perisian percuma, adalah soal kebebasan, bukan harga. Kriteria untuk manual percuma hampir sama dengan perisian percuma: ia adalah soal memberi semua pengguna kebebasan tertentu. Pengedaran semula (termasuk jualan komersial) mesti dibenarkan, dalam talian dan di atas kertas, supaya manual boleh mengiringi setiap salinan program.

Kebenaran untuk pengubahsuaian juga penting. Sebagai peraturan umum, saya tidak percaya bahawa orang ramai mempunyai kebenaran untuk mengubah suai semua jenis artikel dan buku. Sebagai contoh, saya tidak fikir anda atau saya bertanggungjawab untuk memberi kebenaran untuk mengubah suai artikel seperti ini , yang menerangkan tindakan dan pandangan kita.

Tetapi ada sebab tertentu mengapa kebebasan untuk mengubah suai adalah penting untuk dokumentasi untuk perisian percuma. Apabila orang menggunakan hak mereka untuk mengubah suai perisian dan menambah atau menukar cirinya, jika mereka teliti, mereka akan menukar manual juga—supaya mereka boleh menyediakan dokumentasi yang tepat dan boleh digunakan dengan program yang diubah suai. Manual bukan percuma, yang tidak membenarkan pengaturcara berhati-hati dan menyelesaikan kerja, tidak memenuhi keperluan komuniti kita.

Beberapa jenis had tentang cara pengubahsuaian dilakukan tidak menimbulkan masalah. Sebagai contoh, keperluan untuk mengekalkan notis hak cipta pengarang asal, syarat pengedaran atau senarai pengarang, adalah OK. Tidak ada masalah untuk menghendaki versi yang diubah suai untuk memasukkan notis bahawa ia telah diubah suai, malah mempunyai keseluruhan bahagian yang tidak boleh dipadamkan atau diubah, selagi bahagian ini berurusan dengan topik bukan teknikal ini tidak menjadi masalah kerana mereka tidak menghalang pengaturcara yang teliti daripada menyesuaikan manual agar sesuai dengan program yang diubah suai. Dengan kata lain, mereka tidak menghalang komuniti perisian percuma daripada menggunakan sepenuhnya manual.

Walau bagaimanapun, adalah mungkin untuk mengubah suai semua teknikal kandungan manual, dan kemudian mengedarkan hasilnya dalam semua media biasa, melalui semua saluran biasa; jika tidak, sekatan itu menghalang komuniti, manual itu tidak percuma, dan kami memerlukan manual lain.

Adakah pembangun perisian percuma mempunyai kesedaran dan keazaman untuk menghasilkan spektrum penuh manual percuma? Sekali lagi, masa depan kita bergantung kepada falsafah.

Kita mesti bercakap tentang kebebasan

Anggaran hari ini adalah itu disana ada sepuluh juta pengguna sistem GNU/Linux seperti Debian GNU/Linux dan Red Hat "Linux". Perisian percuma telah membangunkan kelebihan praktikal sedemikian sehingga pengguna berpusu-pusu kepadanya atas sebab praktikal semata-mata.

Akibat yang baik daripada ini adalah jelas: lebih berminat untuk membangunkan perisian percuma, lebih ramai pelanggan untuk perniagaan perisian percuma, dan lebih banyak keupayaan untuk menggalakkan syarikat membangunkan perisian percuma komersial dan bukannya produk perisian proprietari.

Tetapi minat terhadap perisian berkembang lebih cepat daripada kesedaran tentang falsafah yang berasaskannya, dan ini membawa kepada masalah. Keupayaan kita untuk menghadapi cabaran dan ancaman yang dinyatakan di atas bergantung pada kemahuan untuk berdiri teguh untuk kebebasan. Untuk memastikan komuniti kami mempunyai kehendak ini, kami perlu menyebarkan idea itu kepada pengguna baharu apabila mereka masuk ke dalam komuniti.

Tetapi kami gagal berbuat demikian: usaha untuk menarik pengguna baharu ke dalam komuniti kami jauh mengatasi usaha untuk mengajar mereka sivik komuniti kami. Kita perlu melakukan kedua-duanya, dan kita perlu memastikan kedua-dua usaha itu seimbang.

"Sumber terbuka"

Mengajar pengguna baharu tentang kebebasan menjadi lebih sukar pada tahun 1998, apabila sebahagian daripada komuniti memutuskan untuk berhenti menggunakan istilah "perisian percuma" dan sebaliknya menyebut "perisian sumber terbuka".

Sesetengah yang menggemari istilah ini bertujuan untuk mengelakkan kekeliruan "percuma" dengan "gratis"—matlamat yang sah. Walau bagaimanapun, yang lain bertujuan untuk mengetepikan semangat prinsip yang telah memotivasikan pergerakan perisian bebas dan Projek GNU, dan sebaliknya merayu kepada eksekutif dan pengguna perniagaan, yang kebanyakannya memegang ideologi yang meletakkan keuntungan di atas kebebasan, di atas komuniti, di atas. prinsip Oleh itu, retorik "sumber terbuka" menumpukan pada potensi untuk membuat perisian yang berkualiti tinggi dan berkuasa, tetapi menolak idea kebebasan, komuniti dan prinsip.

Majalah "Linux" adalah contoh yang jelas tentang ini—majalah ini dipenuhi dengan iklan untuk perisian proprietari yang berfungsi dengan GNU/Linux. Apabila Motif atau Qt seterusnya muncul, adakah majalah ini memberi amaran kepada pengaturcara supaya menjauhinya, atau adakah mereka akan menyiarkan iklan untuknya?

Sokongan perniagaan boleh menyumbang kepada masyarakat dalam pelbagai cara; semua yang lain adalah sama, ia berguna. Tetapi memenangi sokongan mereka dengan bercakap lebih sedikit tentang kebebasan dan prinsip boleh membawa bencana; ia menjadikan ketidakseimbangan sebelum ini antara jangkauan dan pendidikan sivik lebih teruk.

"Perisian percuma" dan "sumber terbuka" menerangkan kategori perisian yang sama, lebih kurang, tetapi menyatakan perkara yang berbeza tentang perisian dan tentang nilai. Projek GNU terus menggunakan istilah "perisian percuma", untuk menyatakan idea bahawa kebebasan, bukan hanya teknologi, adalah penting.

Cuba!

Kata-kata mutiara Yoda (“Tiada ‘cuba’”) kedengaran kemas, tetapi ia tidak berkesan untuk saya. Saya telah melakukan kebanyakan kerja saya sambil bimbang sama ada saya boleh melakukan kerja itu, dan tidak pasti bahawa ia akan mencukupi untuk mencapai matlamat jika saya melakukannya. Tetapi saya cuba juga, kerana tidak ada sesiapa selain saya di antara musuh dan bandar saya. Mengejutkan diri sendiri, saya kadang-kadang berjaya.

Kadang-kadang saya gagal; beberapa bandar saya telah jatuh. Kemudian saya menemui satu lagi bandar yang terancam, dan bersiap sedia untuk pertempuran yang lain. Lama kelamaan, saya telah belajar untuk mencari ancaman dan meletakkan diri saya di antara mereka dan bandar saya, menyeru penggodam lain untuk datang dan menyertai saya.

Pada masa kini, selalunya saya bukan seorang sahaja. Ia adalah kelegaan dan kegembiraan apabila saya melihat rejimen penggodam menggali masuk untuk menahan talian, dan saya sedar, bandar ini mungkin bertahan—buat masa ini. Tetapi bahayanya lebih besar setiap satu. tahun, dan kini Microsoft telah menyasarkan komuniti kami secara jelas. Kami tidak boleh mengambil mudah masa depan kebebasan. Jangan ambil mudah! Jika anda ingin mengekalkan kebebasan anda, anda mesti bersedia untuk mempertahankannya.

TH.arial ( font-family: Arial, Serif;) P.topic ( font-family: sans-serif;) A.plain ( text-decoration: none;) A.topic01 ( color: #006890; font-family: sans-serif; text-decoration: none;) A.topic02 ( color: #099771; font-family: sans-serif; text-decoration: none;) A.topic03 ( color: #719709; font-family: sans- serif; hiasan teks: tiada;) A.topic04 ( warna: #98650A; font-family: sans-serif; text-decoration: none;) A.topic05 ( color: #98340A; font-family: sans-serif; hiasan teks: tiada;) A.topic06 ( warna: #099607; font-family: sans-serif; text-decoration: none;) A.topic07 ( color: #9E1215; font-family: sans-serif; text- hiasan: tiada;) A.topic08 ( warna: #970941; font-family: sans-serif; text-decoration: none;) A.topic09 ( color: #950995; font-family: sans-serif; text-decoration: tiada;) A.topic010 ( warna: #390A98; font-family: sans-serif; text-decoration: none;) H1 ( font-family: sans-serif;) H2 ( font-family: sans-serif;) H3 ( font-family: sans-serif;) H4 ( font-family: sans-serif;) H5 ( font-family: sans-serif;) H6 ( font-family: sans-serif;)

Ideologi perisian percuma dan projek GNU: keadaan semasa dan tugas segera

S.D.Kuznetsov

Yayasan Perisian Percuma (FSF) adalah fenomena yang sangat menarik dan dalam banyak cara yang luar biasa dalam dunia pengaturcaraan moden. Ramai pengaturcara domestik terpaksa berurusan dengan program dari FSF (sistem pengaturcaraan GCC sangat terkenal), tetapi kekurangan penerbitan dalam bahasa Rusia menyukarkan untuk memahami ideologi dan matlamat FSF, dan juga menjadikannya mustahil untuk menilai asas yang sedia ada. Tujuan artikel pendek ini adalah untuk sekurang-kurangnya mengisi sebahagian jurang ini. Keseluruhan artikel adalah berdasarkan bahan FSF dan oleh itu, menurut prinsip am organisasi ini, boleh dicetak semula, disalin atau diedarkan secara bebas (tertakluk kepada notis ini).

1. Ideologi FSF dan matlamat umum Projek GNU

FSF ialah organisasi perisian yang diasaskan dan diketuai oleh Richard Stallman. Dalam rumusan yang paling umum, matlamat FSF adalah untuk menghapuskan sekatan ke atas penyalinan, pengedaran, kajian dan pengubahsuaian program komputer. Untuk mencapai matlamat keseluruhan ini, FSF menggalakkan pembangunan dan penggunaan perisian percuma yang menyasarkan kelas aplikasi yang luas.

Dalam Manifesto GNUnya, yang ditulis pada tahun 1985, R. Stallman mengemukakan penentangannya terhadap pemilikan perisian sebagai idea utama yang membawa kepada kemunculan FSF dan Projek GNU. Keistimewaan hubungan dalam komuniti pengaturcaraan sering berhadapan dengan orang ramai dengan pilihan untuk mengikuti perasaan semula jadi persahabatan dan bantuan bersama atau tunduk kepada undang-undang harta benda yang menghalangnya. Dengan perisian percuma, keperluan untuk pilihan yang membebankan itu hilang.

Mencipta sistem perisian percuma bersepadu mengelakkan kerja pendua oleh pengaturcara (yang selalunya hanya diperlukan kerana perisian itu adalah proprietari). Pengedaran percuma kod sumber program menjadikannya lebih mudah untuk mengekalkannya dan menyesuaikannya dengan keperluan pengguna tertentu (tidak perlu menggunakan perkhidmatan hanya syarikat yang memiliki lesen kod sumber). Terdapat peluang tambahan dan sangat penting untuk menggunakan perisian yang baik untuk tujuan pendidikan.

Menurut R. Stallman, semasa peralihan kepada perisian percuma, pengaturcara tidak akan mati kelaparan (walaupun, nampaknya, mereka akan memperoleh pendapatan yang agak kurang). Mengehadkan penyalinan perisian bukan satu-satunya cara untuk membuat wang. Idea utama Stallman ialah bukan perisian yang perlu dijual, tetapi kerja pengaturcara. Khususnya, sumber pendapatan mungkin penyelenggaraan sistem perisian atau konfigurasinya untuk digunakan pada komputer baharu dan/atau dalam keadaan baharu, pengajaran, dsb.

"Manifesto" Stallman ditulis dengan sangat emosional dan di tempat-tempat yang terlalu utopia. Namun begitu, nampaknya idea-idea perisian percuma dari segi sejarahnya hampir dengan hubungan tradisional (kecuali tahun-tahun baru-baru ini) di kalangan pengaturcara Soviet. Mungkin talian FSF adalah laluan paling semula jadi kepada penyepaduan mendalam komuniti pengaturcaraan domestik dan dunia.

Lebih khusus lagi, FSF membangunkan atur cara dalam rangka projek GNU (singkatan GNU dikembangkan secara rekursif - GNU "s Not Unix). Matlamat projek GNU adalah untuk mencipta sistem perisian bersepadu yang lengkap, yang alatannya serasi dengan keupayaan persekitaran OS Unix (sebagai peraturan, keupayaan program GNU adalah keupayaan yang lebih luas daripada analog persekitaran Unix).

Perisian FSF adalah "percuma" dalam dua pengertian. Pertama, sebarang program boleh disalin dan dipindahkan secara bebas kepada sesiapa sahaja. Kedua, ketersediaan kod sumber untuk program memberi peluang untuk mempelajari program secara bebas, memperbaikinya, dan mengedarkan versi yang diubah suai.

Sama seperti hak syarikat perisian biasa dilindungi oleh simbol hak cipta mereka, "kebebasan" sistem perisian FSF dilindungi oleh "copyleft" - gabungan hak cipta dan dokumen yang terdapat dalam semua teks FSF bertajuk "GNU General Public License". Dokumen ini menyatakan hak yang dimiliki oleh mana-mana pemilik semasa teks ini dan kemustahilan untuk melucutkan hak mana-mana entiti lain.

Aktiviti utama FSF ialah pembangunan komponen perisian percuma baharu dalam Projek GNU. Untuk sebahagian besar, Projek GNU dibangunkan secara terancang (lihat, khususnya, Bahagian 3 artikel ini), tetapi FSF juga menerima program pengedaran percuma yang dibangunkan oleh firma dan individu atas inisiatif mereka sendiri. Selain itu, FSF menghasilkan dan menjual pita perisian percuma, menyediakan, menerbitkan, dan mengedarkan manual untuk pelbagai komponen perisian GNU, dan menyelenggara dan mengedarkan Direktori Perkhidmatan, senarai firma dan individu yang menyediakan perkhidmatan berbayar kepada pengguna program GNU dan sistem.

Asas kewangan FSF ialah penjualan pita dan dokumentasi, serta penajaan firma komersial dan individu.

2. Tersedia Perisian GNU

Pada masa ini, tidak semua komponen perisian Projek GNU sedia. Walau bagaimanapun, FSF mengedarkan banyak program, sebahagian daripadanya ditulis secara langsung oleh pengaturcara FSF, dan sebahagian daripadanya diserahkan kepada FSF untuk pengedaran percuma oleh organisasi dan individu lain. Mari kita senaraikan secara ringkas produk perisian yang diedarkan oleh FSF pada masa ini.

Emacs ialah editor yang boleh diperluaskan yang boleh disesuaikan dengan pelbagai jenis terminal dan keperluan pengguna. Kebolehlanjutan editor adalah berdasarkan penggunaan penterjemah bahasa Lisp (dialek Common Lisp) yang dibina ke dalam editor. Bersama-sama dengan kod sumber editor, manual untuk menggunakan Emacs dan panduan rujukan untuk pengaturcaraan dalam bahasa Lisp dalam persekitaran Emacs diedarkan.

Bison ialah pengganti penjana penghurai Yacc standard dengan beberapa sambungan. Manual juga diedarkan.

Dua pelaksanaan dialek ringkas bahasa Lisp - Skim: satu daripada MIT (ditulis dalam C), yang kedua daripada Universiti Yale (ditulis dalam Skim).

Utiliti texi2roff direka untuk menukar fail teks dalam format TeX kepada fail teks dalam standard format roff untuk Unix OS (dokumentasi yang diedarkan oleh FSF pada media mesin adalah dalam format TeX).

Utiliti untuk membungkus/membuka fail teks.

Program catur GNU.

GNU CC ialah pengkompil pengoptimuman mudah alih untuk bahasa C. Menyokong standard ANSI C sepenuhnya. Mengandungi alat untuk pembinaan separa automatik penjana kod untuk komputer baharu. Diedarkan bersama manual.

Penghimpun GAS mudah alih satu pas yang hampir dua kali lebih pantas daripada pemasang OS Unix standard.

Versi percuma utiliti untuk bekerja dengan fail objek: ar, ld, nm, saiz, gprof, jalur dan ranlib. Utiliti pemuatan dinamik baharu, dld, juga sedang diedarkan.

GNU make merangkumi hampir semua ciri BSD, System V, dan POSIX make utilities, dan juga mengandungi beberapa sambungan. Diedarkan bersama manual.

Penyahpepijat GDB boleh digunakan untuk nyahpepijat atur cara yang ditulis dalam bahasa C, C++ dan Fortran. Diedarkan bersama manual.

BASH (Bourne Again SHell) - GNU Shell serasi dengan arahan Unix sh standard dan termasuk beberapa sambungan yang diambil daripada varian Shell yang lain.

GAWK ialah versi GNU utiliti AWK standard untuk Unix OS.

flex ialah pengganti GNU untuk penjana penganalisis leksikal standard lex. flex membolehkan anda mendapatkan pengimbas yang lebih cekap daripada lex.

GNU tar ialah versi lanjutan tar utiliti arkib standard.

Beberapa fail daripada BSD 4.3-tahoe yang tidak mengandungi kod sumber AT&T dan telah dikeluarkan untuk pengedaran percuma oleh Universiti Berkeley. Fail ini mengandungi, khususnya, teks sumber lengkap beberapa utiliti, permainan, rutin perpustakaan, dsb.

Sistem yang menyokong kerja dengan versi program dalam projek perisian besar, RCS (Sistem Kawalan Semakan) dan CVS (Sistem Versi Serentak).

Versi percuma utiliti grep dan diff adalah lebih pantas daripada yang standard.

Ghostscript ialah bahasa grafik yang hampir sepenuhnya serasi Postscript.

Program interaktif untuk melukis ungkapan matematik dan gnuplot data.

Satu set alat untuk menukar pengkompil GCC menjadi pengkompil bahasa C++, termasuk perpustakaan kelas lanjutan.

Sebilangan besar program X11, pelaksanaan MIT X-Windows (versi 11, keluaran 4). Skop artikel tidak membenarkan kami membincangkan perkara ini dengan lebih terperinci.

Pada asasnya, semua program yang diedarkan oleh FSF direka untuk berfungsi dalam persekitaran Unix dan sudah digunakan dengan pelbagai varian sistem ini, tetapi terdapat versi beberapa program untuk bekerja dengan VMS dan juga MS-DOS.

3. Tugasan segera untuk projek GNU

Senarai kerja yang dirancang untuk dijalankan dalam Projek GNU adalah agak luas. Mari kita berikan gambaran ringkas tentang arah utama.

3.1. Dokumentasi

Ia dikehendaki menyediakan beberapa manual untuk program yang telah siap atau hampir siap: manual rujukan untuk bahasa C, penerangan tentang GCC termasuk manual untuk menentukan mesin sasaran, manual untuk sistem aplikasi pengaturcaraan dalam Persekitaran X-Windows, dsb.

3.2. Projek yang berkaitan dengan pembangunan kernel Unix percuma

FSF sedang berusaha untuk mencipta kernel Unix berdasarkan mikrokernel Mach percuma. Tugas segera termasuk pelaksanaan protokol rangkaian TCP/IP dan sistem fail baharu (ada harapan untuk menggunakan beberapa program siap sedia yang dijangka akan diisytiharkan percuma). Terdapat tugas lain, termasuk pembangunan penyahpepijat kernel OS jauh.

3.3. Pembangunan persekitaran Unix percuma

Pelaksanaan beberapa utiliti diperlukan (sdiff, mailx, join, dll.). Pembangunan beberapa perpustakaan diperlukan. Antara tugasnya ialah pembangunan alat antara muka terminal yang mesra pengguna.

3.4. Sambungan kepada perisian GNU sedia ada

Pada asasnya, Emacs, GCC dan GDB memerlukan penambahbaikan.

Berkenaan dengan Emacs, dua bidang penambahbaikan diperlukan: pengembangan alat Emacs untuk memungkinkan untuk menggunakan editor ini sebagai sistem penerbitan dan pengantarabangsaan lengkap Emacs, membenarkan penggunaan mana-mana abjad kebangsaan.

GCC perlu dikemas kini untuk menangani tunggakan ulasan dan melaksanakan cadangan sedia ada (senarai ulasan dan cadangan diedarkan bersama GCC).

GDB memerlukan penambahbaikan dari segi memperkenalkan penterjemah bahasa C ke dalam penyahpepijat; Beberapa penambahbaikan juga diperlukan untuk dapat menggunakan GDB semasa menyahpepijat atur cara yang ditulis dalam bahasa selain daripada C.

3.5. Penyusun baharu

Ia diperlukan untuk melaksanakan penyusun untuk beberapa bahasa pengaturcaraan (Algol, Algol-68, PL/1, Ada, dll.) dengan akses kepada penjana kod GCC. (Kerja sedemikian sedang dijalankan untuk bahasa Fortran, Pascal dan Modula-2.)

3.5. Banyak lagi projek lain

Terdapat banyak kerja lain dalam senarai tugasan yang akan datang semasa Projek GNU. Mari kita sebutkan keinginan untuk mempunyai analog percuma sistem Page Maker, Ventura Pablisher, dbase2 atau dbase3, dsb. Memerlukan beberapa program untuk X-Windows. Dan lain-lain. dan sebagainya.

4. Bagaimana untuk mendapatkan maklumat lanjut dan/atau program GNU

Dalam keadaan domestik moden, sebaiknya gunakan e-mel untuk berkomunikasi dengan FSF. Pegawai perhubungan FSF untuk orang yang berminat untuk menyertai Projek GNU ialah Walter Poxon. Alamat e-melnya: Anda juga boleh mendapatkan maklumat daripadanya tentang peraturan untuk menerima pita dengan perisian daripada FSF peruntukan GNU. Malangnya, laluan semula jadi ini tidak begitu sesuai untuk realiti Soviet semasa (pembayaran untuk pita, walaupun simbolik, masih dalam mata wang keras).

Negara kita sebenarnya mempunyai semua pita ini. Mana-mana pemegang, mengikut peraturan permainan FSF, bertanggungjawab untuk mempromosikan pengedaran mereka selanjutnya. Malangnya, ini adalah kerja teknikal yang agak banyak. Persatuan Pengguna OS UNIX Soviet (SUUG) merancang untuk melaksanakan, sebaik sahaja keadaan teknikal membenarkan, pengedaran percuma perisian percuma untuk ahlinya dan penyalinan pita berbayar untuk semua orang (ini adalah masalah dalam beberapa bulan akan datang). Semua ahli SUUG akan menerima maklumat yang berkaitan sijil semasa boleh diperolehi melalui e-mel atau di alamat SUUG biasa: 125502, Moscow, st. Lavochkina, 19.

kesusasteraan.

  1. Richard M. Stallman. Manifesto GNU.
  2. Lesen Awam Am GNU // Yayasan Perisian Percuma, 1989.
  3. Buletin GNU // Yayasan Perisian Percuma, 1991.
  4. Senarai Tugas GNU (fail dikemas kini secara berkala, tersedia melalui e-mel; kami berdasarkan versi 24 Julai 1991)
Yuran pendapatan

Ralat Lua dalam Modul:Wikidata pada baris 170: cuba mengindeks medan "wikibase" (nilai tiada).

Derma

Ralat Lua dalam Modul:Wikidata pada baris 170: cuba mengindeks medan "wikibase" (nilai tiada).

Bilangan sukarelawan

Ralat Lua dalam Modul:Wikidata pada baris 170: cuba mengindeks medan "wikibase" (nilai tiada).

Bilangan Pekerja

Ralat Lua dalam Modul:Wikidata pada baris 170: cuba mengindeks medan "wikibase" (nilai tiada).

Bilangan ahli

Ralat Lua dalam Modul:Wikidata pada baris 170: cuba mengindeks medan "wikibase" (nilai tiada).

Anak syarikat

Ralat Lua dalam Modul:Wikidata pada baris 170: cuba mengindeks medan "wikibase" (nilai tiada).

Milik

Ralat Lua dalam Modul:Wikidata pada baris 170: cuba mengindeks medan "wikibase" (nilai tiada).

Tagline

Ralat Lua dalam Modul:Wikidata pada baris 170: cuba mengindeks medan "wikibase" (nilai tiada).

laman web

Ralat Lua dalam Modul:Wikidata pada baris 170: cuba mengindeks medan "wikibase" (nilai tiada).

Tarikh pembubaran

Ralat Lua dalam Modul:Wikidata pada baris 170: cuba mengindeks medan "wikibase" (nilai tiada).

Kerja berterusan Projek GNU termasuk membangunkan perisian, meningkatkan kesedaran, menjalankan kempen politik dan mengedarkan bahan baharu.

Asal-usul projek

Apabila projek itu mula-mula dimulakan, mereka...

  • Asteroid dinamakan sempena projek GNU - (9965) GNU.

lihat juga

Tulis ulasan artikel "Projek GNU"

Nota

Pautan

  • (Bahasa Inggeris) - laman web rasmi projek GNU

Petikan yang menerangkan Projek GNU

– Pembohongan, pembunuhan, pengkhianatan... Adakah anda tidak mempunyai kata-kata seperti itu?..
– Ia sudah lama dahulu... tiada siapa yang ingat lagi. Hanya saya. Tetapi kita tahu apa itu. Ini tertanam dalam "ingatan kuno" kita supaya kita tidak lupa. Adakah anda datang dari mana kejahatan hidup?
Saya mengangguk dengan sedih. Saya sangat kecewa dengan Bumi asal saya, dan kerana kehidupan di atasnya sangat tidak sempurna sehingga memaksa saya untuk bertanya soalan sedemikian... Tetapi, pada masa yang sama, saya benar-benar mahu Evil meninggalkan Rumah kami selama-lamanya, kerana bahawa saya mencintai rumah ini dengan sepenuh hati saya, dan sangat sering bermimpi bahawa suatu hari nanti hari yang indah akan datang apabila:
seseorang akan tersenyum gembira, mengetahui bahawa orang hanya boleh membawa kebaikan kepadanya...
apabila seorang gadis yang kesepian tidak akan takut untuk berjalan melalui jalan yang paling gelap pada waktu petang, tanpa rasa takut bahawa seseorang akan menyinggung perasaannya...
apabila anda boleh membuka hati anda dengan gembira tanpa rasa takut bahawa kawan baik anda akan mengkhianati anda...
apabila anda boleh meninggalkan sesuatu yang sangat mahal di jalan, tanpa rasa takut jika anda membelakangi, ia akan dicuri serta-merta...
Dan saya dengan ikhlas, dengan sepenuh hati, percaya bahawa di suatu tempat benar-benar ada dunia yang begitu indah, di mana tidak ada kejahatan dan ketakutan, tetapi ada kegembiraan hidup dan keindahan yang sederhana... Itulah sebabnya, mengikuti impian naif saya, Saya mengambil sedikit peluang untuk sekurang-kurangnya belajar sesuatu tentang bagaimana mungkin untuk memusnahkan yang sama, begitu gigih dan tidak dapat dihancurkan, Kejahatan duniawi kita... Dan juga - supaya saya tidak akan pernah malu untuk mengatakan kepada seseorang di suatu tempat bahawa saya berada. seorang lelaki. ..
Sudah tentu, ini adalah impian zaman kanak-kanak yang naif... Tetapi ketika itu saya masih kanak-kanak.
– Nama saya Atis, Man-Svetlana. Saya telah tinggal di sini dari awal lagi, saya telah melihat Kejahatan... Banyak kejahatan...
- Bagaimana kamu menyingkirkannya, Atis yang bijak?! Adakah seseorang membantu anda?.. – saya bertanya dengan penuh harapan. – Bolehkah anda membantu kami?.. Berikan saya sekurang-kurangnya nasihat?
- Kami menemui sebabnya... Dan membunuhnya. Tetapi kejahatan anda di luar kawalan kami. Ia berbeza... Sama seperti orang lain dan anda. Dan kebaikan orang lain mungkin tidak selalu baik untuk anda. Anda mesti mencari sebab anda sendiri. Dan musnahkannya,” dia meletakkan tangannya di atas kepala saya dengan lembut dan kedamaian yang indah mengalir ke dalam diri saya... “Selamat tinggal, Man-Svetlana... Anda akan menemui jawapan kepada soalan anda.” moga awak berehat...
Saya berdiri dalam-dalam, dan tidak mempedulikan hakikat bahawa realiti di sekeliling saya telah lama berubah, dan bukannya sebuah bandar yang pelik dan telus, kami kini "berenang" melalui "air" ungu pekat di atas beberapa yang luar biasa, rata. dan peranti telus, yang tidak ada pemegang, tidak ada dayung - tiada apa-apa, seolah-olah kami berdiri di atas kaca telus yang besar, nipis dan bergerak. Walaupun langsung tiada pergerakan atau goyang dirasai. Ia meluncur melintasi permukaan dengan menghairankan dengan lancar dan tenang, membuatkan anda lupa bahawa ia bergerak sama sekali...
-Apa ini?..Ke mana kita hendak pergi? – tanya saya terkejut.
"Untuk menjemput kawan kecil anda," jawab Veya dengan tenang.
- Tetapi bagaimana?!. Dia tidak boleh melakukannya, bukan?..
- Akan dapat. "Dia mempunyai kristal yang sama seperti anda," adalah jawapannya. "Kami akan berjumpa dengannya di "jambatan", dan tanpa menjelaskan apa-apa lagi, dia segera menghentikan "bot" kami yang pelik.
Kini kami sudah berada di kaki beberapa dinding berkilat "digilap", hitam seperti malam, yang berbeza dengan ketara daripada segala cahaya dan berkilauan di sekeliling, dan seolah-olah dicipta secara buatan dan asing. Tiba-tiba dinding itu "terpisah", seolah-olah di tempat itu ia terdiri daripada kabus tebal, dan dalam "kepompong" emas muncul ... Stella. Segar dan sihat, seolah-olah dia baru sahaja pergi berjalan-jalan yang menyenangkan... Dan, tentu saja, sangat gembira dengan apa yang berlaku... Melihat saya, wajah kecilnya yang manis bersinar dengan gembira dan, di luar kebiasaan, dia segera mula mengoceh. :
– Adakah anda di sini juga?!... Oh, betapa bagusnya!!! Dan saya sangat risau!.. Sangat risau!.. Saya fikir sesuatu pasti telah berlaku kepada awak. Bagaimana awak boleh sampai ke sini?.. – gadis kecil itu merenung saya, tercengang.