summaryrefslogtreecommitdiff
path: root/talermerchantdemos/blog/articles/id/thegnuproject.html
blob: 95f3f95ae777a114ad04e0eb5998bbc9dcd58d11 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
<!--#set var="PO_FILE"
 value='<a href="/gnu/po/thegnuproject.id.po">
 https://www.gnu.org/gnu/po/thegnuproject.id.po</a>'
 --><!--#set var="ORIGINAL_FILE" value="/gnu/thegnuproject.html"
 --><!--#set var="DIFF_FILE" value=""
 --><!--#set var="OUTDATED_SINCE" value="2002-08-26" -->

<!--#include virtual="/server/header.id.html" -->
<!-- Parent-Version: 1.86 -->

<!-- This file is automatically generated by GNUnited Nations! -->
<title>Tentang Proyek GNU - Proyek GNU - Free Software Foundation</title>
<meta http-equiv="Keywords" content="GNU, Proyek GNU, FSF, Perangkat Lunak Bebas, Free Software Foundation,
Yayasan Perangkat Lunak Bebas, Sejarah" />

<!--#include virtual="/gnu/po/thegnuproject.translist" -->
<!--#include virtual="/server/banner.id.html" -->
<!--#include virtual="/server/outdated.id.html" -->
<h2>Proyek GNU</h2>

<p>
by <a href="http://www.stallman.org/"><strong>Richard Stallman</strong></a></p>

<blockquote>
<p>
Semula diterbitkan dalam buku <em>Open Sources</em>
</p>

</blockquote>

<h3>Masyarakat Pertama Berbagi Perangkat Lunak Bebas</h3>
<p>
Ketika mulai bekerja di <em><abbr title="Massachusetts Institute of
Technology">MIT</abbr> Artificial Intelligence Lab</em> (lab AI)  tahun
1971, daku menjadi bagian dari sebuah masyarakat yang telah bertahun-tahun
berbagi perangkat lunak.  Budaya berbagi perangkat lunak ini memang tidak
terbatas pada kelompok kami; namun sudah berlangsung sejak adanya
komputer&mdash;serupa dengan berbagi resep makan yang berlangsung semenjak
manusia memasak.  Namun, kelompok kami-lah yang lebih sering melakukannya
lebih dari yang lain.</p>
<p>
Lab AI tersebut menggunakan sistem operasi <em>timesharing</em> bernama ITS
(<em>the Incompatible Timesharing System</em>) yang dirancang dan ditulis
oleh para <em>hacker</em> lab (1) pada mesin Digital <abbr title="Programmed
Data Processor">PDP</abbr>-10, salah satu komputer besar pada zaman
tersebut.  Sebagai anggota kelompok tersebut, <em>hacker</em> sistem lab,
tugas daku ialah memperbaiki kinerja sistem.</p>
<p>
Perangkat lunak kami tidaklah kami sebut sebagai &ldquo;perangkat lunak
bebas&rdquo;, sebab istilah tersebut belum ada; dan pada saat itu memang
semua perangkat lunak begitu.  Jika ada yang dari universitas atau
perusahaan lain ingin memasang dan memanfaatkan sebuah program, kami
mempersembahkannya dengan senang hati.  Jika melihat ada yang menggunakan
program yang aneh dan menarik, anda selalu dapat meminta dan melihat kode
program tersebut, sehingga dapat membacanya, merubahnya, atau meng-kanibal
bagian untuk membuat sebuah program baru.</p>
<p>
(1) Penggunaan istilah &ldquo;<em>hacker</em>&rdquo; yang berarti
&ldquo;pembobol keamanan&rdquo; merupakan kekacauan ciptaan sebagian
media. Kami, para <em>hacker</em> menolak penggunaan arti negatif tersebut,
dan tetap menggunakan kata tersebut dengan arti, &ldquo;seseorang yang
senang memrogram dan menikmati kecanggihan pemrogramannya tersebut&rdquo;.</p>

<h3>Runtuhnya Masyarakat Tersebut</h3>
<p>
Keadaan berubah secara drastis di awal 1980an saat Digital menghentikan
pembuatan seri PDP-10. Arsitekturnya sebenarnya mantap dan canggih untuk
ukuran tahun 1960an, namun memiliki keterbatasan pada perluasan ruang alamat
seiring dengan teknologi memori tahun 1980an.  Dengan sendirinya, hampir
semua program pendukung ITS menjadi kadaluarsa.</p>
<p>
Masyarakat <em>hacker</em> lab AI pun telah bubar sebelumnya.  Tahun 1981,
perusahaan <em>spin-off</em> Symbolics telah memperkerjakan hampir seluruh
<em>hacker</em> dari lab AI, dan sisa penghuni lab AI tidak mampu bertahan
(buku <em>Hackers</em>, karangan Steve Levy, memaparkan kejadian ini, serta
memberikan gambaran jelas perihal masyarakat ini dan tujuannya).  Ketika lab
AI membeli PDP-10 baru (1982), pengelolanya memutuskan untuk menggunakan
sistem operasi <em>time sharing</em> Digital yang tidak bebas, dari pada
ITS.</p>
<p>
Komputer modern pada zaman tersebut, seperti VAX dan 68020, dilengkapi
dengan sistem operasi masing-masing, namun tidak satu pun merupakan
perangkat lunak bebas: anda harus menandatangani perjanjian menjaga rahasia
(<em>nondisclosure</em>), walau pun hanya untuk mendapatkan salinan
<em>executable</em>.</p>
<p>
Dengan kata lain, langkah pertama untuk menggunakan sebuah komputer ialah
berjanji untuk tidak menolong sesama tetangga.  Bergotong-royong pun
dilarang. Aturan yang dibuat oleh para pemilik perangkat lunak ialah,
&ldquo;Jika anda berbagi dengan tetangga anda, maka anda merupakan
pembajak. Jika anda ingin perubahan (perangkat lunak), maka anda harus
mengemis kepada kami (para pemilik perangkat lunak).&rdquo;</p>
<p>
Gagasan sistem sosial perangkat lunak berpemilik&mdash;sebuah sistem yang
mengatakan bahwa anda tidak diperkenankan untuk berbagi dan mengubah
perangkat lunak&mdash;merupakan sistem anti-sosial, tidak etis, singkatnya
salah, mungkin telah mengagetkan sebagian para pembaca.  Namun, istilah apa
lagi yang harus digunakan untuk sebuah sistem yang memecah-belah masyarakat
serta membuat para pengguna tak berdaya? Para pembaca yang terkejut akan
pandangan ini mungkin telah menganggap sistem sosial perangkat lunak
berpemilik sebagai fitrah, atau menilainya berdasarkan ketentuan bisnis
perangkat lunak berpemilik.  Para penerbit perangkat lunak berpemilik telah
bekerja lama dan keras untuk meyakinkan masyarakat bahwa itu merupakan
satu-satunya cara melihat masalah ini.</p>
<p>
Ketika para penerbit perangkat lunak berbicara perihal &ldquo;menegakkan
hak&rdquo; mereka atau &ldquo;menghentikan pembajakan&rdquo;, yang mereka
katakan sebetulnya nomor dua. <em>Pesan yang sesungguhnya</em> dari
pernyataan mereka ialah anggapan yang sudah mestinya begitu dari sananya;
bahwa masyarakat seharusnya menerima anggapan tersebut tidak secara kritis.
Jadi, marilah kita mencermati anggapan yang mereka gunakan.</p>
<p>
Salah satu anggapan yang digunakan ialah bahwa perusahaan perangkat lunak
memiliki hak dasar yang tidak perlu dipertanyakan untuk memiliki perangkat
lunak, sehingga mereka berkuasa di atas segala penggunanya (dan jika ini
benar, seberapa pun merusaknya, kita memang tidak dapat menentangnya).
Padahal, undang-undang dasar Amrik dan tradisi hukum menolak pandangan
tersebut; hak cipta bukan merupakan hak dasar, namun merupakan hak monopoli
buatan pemerintah yang membatasi hak dasar para pengguna untuk melakukan
penyalinan.</p>
<p>
Anggapan tak tertulis lainnya ialah bahwa satu-satunya hal yang penting pada
sebuah perangkat lunak ialah perkerjaan apa yang diperbolehkan untuk
dilakukan&mdash;yaitu bahwa kita para pengguna komputer seharusnya tidak
peduli perihal bagaimana bentuk rupa masyarakat kita.</p>
<p>
Anggapan ketiga ialah bahwa tidak akan tersedia perangkat lunak berguna
(atau, tidak akan ada program yang dapat melakukan sebuah tugas tertentu),
jika kita tidak menyerahkan kekuasaan dari para pengguna terhadap sebuah
program kepada sebuah perusahaan.  Anggapan ini mungkin kelihatan masuk
akal, terutama sebelum gerakan perangkat lunak bebas menunjukkan bahwa kita
dapat membuat banyak perangkat lunak bebas bermanfaat tanpa perlu merantai
penggunanya.</p>
<p>
Jika kita menolak anggapan tersebut, serta menilai masalah ini berdasarkan
anggapan jujur dan masuk akal yang mengutamakan para pengguna, kita akan
tiba pada kesimpulan yang berbeda.  Para pengguna komputer seharusnya bebas
untuk mengubah program sesuai dengan kebutuhan mereka, serta bebas untuk
berbagi perangkat lunak, sebab membantu sesama merupakan landasan dari
masyarakat.</p>
<p>
Penjelasan lengkap yang merupakan alasan dari kesimpulan ini, dapat diikuti
di <a href="/philosophy/why-free.html">
http://www.gnu.org/philosophy/why-free.html</a>.
</p>

<h3>Pilihan Nurani Penentu</h3>
<p>
Dengan bubarnya kelompok tersebut di atas, melanjutkan seperti biasa menjadi
tidak mungkin. Malahan, daku menghadapi pilihan nurani penentu.</p>
<p>
Pilihan termudah tentunya bergabung ke dunia perangkat lunak berpemilik,
menandatangi perjanjian menjaga rahasia dan berjanji untuk tidak menolong
sesama <em>hacker</em>. Besar kemungkinan, daku juga akan mengembangkan
perangkat lunak yang akan diluncurkan dengan perjanjian menjaga rahasia,
sehingga menambah tekanan agar yang lain turut mengkhianati rekannya.</p>
<p>
Daku mungkin saja mencari nafkah dengan cara ini, dan mungkin saja tetap
ceria menulis program. Namun daku pula menyadari bahwa kelak menjelang akhir
hayat dan karir, daku akan melihat ini sebagai masa membangun dinding
pemisah manusia, dan akan merasa telah membuat dunia ini menjadi tempat yang
buruk.</p>
<p>
Daku pernah mengalami sendiri akibat dari sebuah perjanjian menjaga rahasia,
ketika seseorang menolak memberikan kami di lab AI MIT, kode program untuk
mengendalikan printer kami (tidak tersedianya beberapa fitur tersebut
mengakibatkan ketidaknyamanan penggunaan printer tersebut). Jadi, daku tidak
dapat meyakinkan diri sendiri bahwa perjanjian menjaga rahasia tersebut
tidak berakibat apa-apa. Daku menjadi sangat murka ketika dia menolak
berbagi dengan kami, namun daku tidak mau membalas dendam dengan berbuat
yang sama.</p>
<p>
Pilihan lainnya, secara pasti namun kurang menyenangkan, dengan meninggalkan
bidang komputer. Dengan cara ini, ketrampilan daku tidak akan
disalah-gunakan, namun akan tetap terbuang sia-sia. Memang tidak akan
dipersalahkan sebagai pemecah-belah dan penghambat para pengguna komputer,
namun kejadian tersebut tetap akan terjadi.</p>
<p>
Jadi, daku mencari jalan bagaimana caranya, agar seorang pemrogram dapat
berkarya demi kebaikan. Ku bertanya pada diriku, apakah ada sebuah atau
beberapa program yang dapat ditulis, sehingga dapat menciptakan sebuah
masyarakat seperti sebelumnya?</p>
<p>
Jawabannya jelas: pertama-tama dibutuhkan sebuah sistem operasi.  Ini
merupakan perangkat lunak penting agar komputer dapat digunakan.  Dengan
sebuah perangkat lunak sistem operasi, kita akan dapat membangun kembali
masyarakat <em>hacker</em>&mdash;serta mengundang siapa pun untuk
bergabung. Dan siapa pun akan dapat menggunakan komputer tanpa harus
berjanji untuk berkhianat pada sesamanya.</p>
<p>
Sebagai pengembang sistem operasi, ketrampilan daku memang sesuai sekali.
Walau pun tidak yakin akan berhasil, daku menyadari bahwa ini merupakan
tugas panggilan. Nama GNU dipilih berdasarkan tradisi pada <em>hacker</em>,
sebagai singkatan rekursif dari &ldquo;<em>GNU's Not Unix</em>&rdquo; (GNU
Bukan Unix).</p>
<p>
Sebuah sistem operasi bukan saja berarti kernel, yang hanya berfungsi
mengendalikan program lainnya. Pada tahun 1970an, setiap sistem operasi
betulan&mdash;seperti ITS, Multics, VMS, Unix&mdash; menyertakan <em>command
processor</em>, <em>assembler</em>, kompiler, <em>interpreter</em>,
<em>debugger</em>, editor teks, <em>mailer</em>, dan lainnya.  Tentunya, GNU
harus menyertakannya pula.</p>
<p>
Belakang, daku mendengar kata-kata ini, dikutip dari Hillel (1):</p>

<blockquote><p>
     Jika daku bukan untukku sendiri, siapakah akan buatku?<br />
     Jika daku hanya untukku, siapakah daku?<br />
     Jika tidak sekarang, kapan?
</p></blockquote>
<p>
Keputusan untuk memulai proyek GNU berdasarkan semangat yang serupa.</p>
<p>
(1) Sebagai ateis, daku bukan pengikut kepemimpinan agama mana pun, namun
terkadang saya mengagumi beberapa perkataan yang diucapkan.</p>

<h3>Bebas Seperti Dalam Kebebasan</h3>
<p>
Istilah &ldquo;perangkat lunak bebas&rdquo; sering kali
disalah-artikan&mdash;serta tidak berkaitan dengan harga. Ini mengenai
kebebasan. Jadi, berikut ini merupakan definisi dari perangkat lunak bebas.</p>

<ul>
  <li>Anda punya kebebasan untuk menjalankan program, untuk apa pun.</li>

  <li>Anda punya kebebasan untuk mengubah program agar sesuai dengan kebutuhan
(agar kebebasan ini efektif, anda musti punya akses ke kode program, sebab
mengubah program tanpa kode program sangat menyulitkan).</li>

  <li>Anda punya kebebasan untuk mendistribusikan salinannya, secara gratis atau
pun dengan biaya.</li>

  <li>Anda punya kebebasan untuk distribusikan versi termodifikasi.  Sehingga
masyarakat mendapatkan kesempatan untuk turut menikmati perubahan tersebut.</li>
</ul>
<p>
Karena &ldquo;bebas&rdquo; merujuk pada kebebasan, tidaklah terdapat
kontradiksi antara berjualan salinan dan perangkat lunak bebas. Bahkan,
kebebasan berjualan salinan menjadi penentu: kumpulan perangkat lunak bebas
yang dijual di CD-ROM menjadi penting untuk masyarakat, dan berjualan
tersebut menjadi cara utama untuk menghimpun dana pengembangan perangkat
lunak bebas. Jika tidak termasuk dalam himpunan tersebut, maka tidaklah
dapat dikatakan sebagai perangkat lunak bebas.</p>
<p>
Karena kebingungan terhadap kata &ldquo;bebas&rdquo; ini, banyak yang
mencari kata alternatif, namun hingga kini belum ditemukan kata yang lebih
cocok. Khasanah bahasa Inggris yang kaya, namun tidak ada kata sederhana
yang mencerminkan arti &ldquo;bebas&rdquo;. Kata-kata seperti
&ldquo;merdeka&rdquo;, &ldquo;kemerdekaan&rdquo;, &ldquo;terbuka&rdquo;
dapat berarti lain atau pun mengandung kelemahan lainnya.</p>

<h3>Perangkat Lunak GNU dan sistem GNU</h3>
<p>
Mengembangkan sistem seutuhnya merupakan maha-proyek. Agar terjangkau, daku
memutuskan untuk mengadaptasi perangkat lunak bebas yang ada, jika
memungkinkan. Umpamanya, sejak awal diputuskan untuk menggunakan TeX sebagai
pengatur teks utama; beberapa tahun kemudian, diputuskan untuk menggunakan
sistem <em>X Window</em> dari pada membuat sistem <em>window</em> sendiri
untuk GNU.</p>
<p>
Karena keputusan ini, sistem GNU tidaklah sama dengan koleksi semua
perangkat lunak GNU. Dalam sistem GNU terdapat program yang bukan merupakan
perangkat lunak GNU, program yang dikembangkan oleh pihak dan proyek lain
untuk keperluan mereka sendiri, namun kita dapa gunakan karena merupakan
perangkat lunak bebas.</p>

<h3>Perluncuran Proyek</h3>
<p>
Pada bulan Januari 1984, daku berhenti kerja dari MIT, serta memulai menulis
perangkat lunak GNU. Meninggalkan MIT diperlukan, agar MIT tidak dapat
menghalangi pendistribusian GNU sebagai perangkat lunak bebas. Jika saya
tetap menjadi karyawan, MIT mungkin akan menganggap turut memiliki perangkat
lunak tersebut, serta dapat saja turut menentukan ketentuan
pendistribusiannya, bahkan mengubahnya menjadi perangkat lunak
berpemilik. Padahal, daku tak berniat membuat karya besar ini menjadi
sia-sia karena tidak dapat digunakan untuk membangun sebuah masyarakat yang
berbagi perangkat lunak.</p>
<p>
Namun, Prof. Winston, ketika itu kepala lab AI MIT, berkenan mengundang daku
untuk tetap menggunakan lab tersebut.</p>

<h3>Beberapa langkah Pertama</h3>
<p>
Beberapa saat sebelum memulai proyek GNU ini, kudengar perihal <em>Free
University Compiler Kit</em> (Perangkat Kompiler Universitas Bebas), yang
juga dikenal dengan VUCK (dalam bahasa Belanda, perkataan
&ldquo;<em>free</em>&rdquo; dimulai dengan <em>v</em>). Kompiler ini
dirancang untuk menangani aneka bahasa, termasuk C dan Pascal, serta
mendukung berbagai arsitektur mesin.  Kutanyai sang pengarang apakah GNU
boleh menggunakannya.</p>
<p>
Dengan ketus, dijawab bahwa universitasnya memang bebas, namun kompilernya
tidak. Jadi, kuputuskan bahwa program pertama proyek GNU seharusnya kompiler
aneka bahasa untuk berbagai arsitektur perangkat keras.</p>
<p>
Dengan harapan tidak perlu menulis sendiri seluruh kompiler, kugunakan kode
program kompiler <em>Pastel</em>, yang dikembangkan menggunakan ekstensi
bahasa <em>Pascal</em> oleh Lawrence Livermore Lab. serta merupakan kompiler
aneka arsitektur. Kutambahkan <em>front end</em> C, serta kumulai
<em>porting</em> ke komputer Motorila 68000. Namun terpaksa dibatalkan,
karena sang kompiler membutuhkan beberapa <em>megabytes</em> ruang
<em>stack</em>, padahal sistem Unix 68000 hanya membolehkan 64k.</p>
<p>
Kutemukan bahwa kompiler <em>Pastel</em> tersebut mem-<em>parse</em> seluruh
berkas kesebuah pohon sintaks (<em>syntax tree</em>), lalu mengubah seluruh
pohon sintaks tersebut menjadi sebuah mata rantai &ldquo;instruksi&rdquo;,
lalu membangkitkan seluruh berkas keluaran, tanpa pernah membebaskan
memori. Walhasil, disimpulkan bahwa perlu penulisan kompiler baru dari
nol. Kompiler baru ini sekarang disebut dengan <abbr title="GNU Compiler
Collection">GCC</abbr>; tanpa menggunakan bagian apa pun dari kompiler
Pastel. Namun kuberhasil mengadaptasi serta menggunakan <em>front end</em> C
yang sempat kutulis.  Namun, ini baru terjadi beberapa tahun kemudian;
pertama-tama daku mengerjakan GNU Emacs.</p>

<h3>GNU Emacs</h3>
<p>
Kumulai mengerjakan GNU Emacs sejak September 1984, dan awal 1985 sudah
dapat digunakan. Ini memungkinkan daku untuk mulai menggunakan sistem Unix
untuk keperluan pengeditan. Karena tidak pernah berniat untuk belajar
menggunakan vi atau ed, daku sebelum itu menggunakan mesin-mesin lainnya.</p>
<p>
Banyak yang mulai tertarik untuk menggunakan GNU Emacs, sehingga timbul
permasalahan bagaimana cara mendistribusikannya. Tentu saja, ada salinan
yang ditempatkan pada server <em>anonymous ftp</em> MIT yang kugunakan
(Komputer ini, prep.ai.mit.edu, menjadi situs pendistribusian ftp GNU yang
utama; sebelum kami menggunakan server ftp kami yang baru).  Namun pada saat
tersebut, banyak yang tidak memiliki sambungan Internet sehingga tidak dapat
ftp. Jadi, apa yang dapat dilakukan untuk mereka?</p>
<p>
Dapat saja kukatakan, &ldquo;Cari teman yang punya akses net serta mau
membuatkan salinan untuk anda.&rdquo; Atau, apa yang sebelumnya dilakukan
terhadap PDP-10 Emacs: &ldquo;Kirimkan <em>tape</em> serta amplop
berperangko dan alamat anda, dan akan kukirim balik GNU Emacs&rdquo;. Namun
karena tidak punya pekerjaan, serta sedang berikhtiar bagaimana caranya
mendapatkan uang dari perangkat lunak bebas: kuumumkan bahwa untuk setiap
pengiriman <em>tape</em> dikenakan biaya US$ 150. Dengan sendirinya, ini
merupakan usaha pendistribusian perangkat lunak pertama, jauh sebelum
perusahaan-perusahaan dewasa ini yang mendistribusikan sistem GNU berbasis
Linux.</p>

<h3>Apakah sebuah program bebas untuk setiap pengguna?</h3>
<p>
Jika sebuah program merupakan perangkat lunak bebas begitu diedarkan
pengarangnya, tidaklah berarti bahwa akan tetap menjadi perangkat lunak
bebas untuk semua yang memiliki salinan tersebut. Umpamanya, <a
href="/philosophy/categories.html#PublicDomainSoftware">perangkat lunak
<em>public domain</em></a> (perangkat lunak tanpa hak cipta) merupakan
perangkat lunak bebas; namun siapa pun dapat membuat modifikasi berpemilik
dari perangkat tersebut.  Demikian pula, banyak program bebas dengan hak
cipta namun diedarkan menggunakan lisensi sederhana yang mengizinkan
modifikasi berpemilik.</p>
<p>
Contoh dari permasalahan ini ialah sistem <em>X Window</em>.  Sistem yang
dikembangkan MIT ini diedarkan sebagai perangkat lunak bebas dengan lisensi
sederhana. Berbagai perusahaan komputer mengadaptasi sistem X ini, dan
disertakan dalam sistem Unix berpemilik mereka, dalam bentuk biner saja,
serta dilindungi dengan menggunakan perjanjian menjaga rahasia yang serupa.
Salinan X tersebut tidak lagi perangkat lunak bebas, seperti halnya Unix
mereka.</p>
<p>
Para pengembang sistem <em>X Window</em> tidak menganggap ini sebagai
masalah&mdash;mereka memperkirakan serta menerima hal ini. Tujuan mereka
bukanlah kebebasan, namun hanyalah &ldquo;sukses&rdquo;, yang diartikan
dengan &ldquo;digunakan secara luas&rdquo;. Mereka tidak peduli apakah para
pengguna memiliki kebebasan, asalkan jumlahnya banyak.</p>
<p>
Ini menjurus ke situasi paradoks dari dua cara berbeda untuk menghitung
jumlah kebebasan terhadap sebuah pertanyaan: &ldquo;Apakah program ini
bebas?&rdquo; Jika menilai dari kebebasan ketentuan pendistribusian sistem,
anda akan mengatakan bahwa X merupakan perangkat lunak bebas. Namun jika
diukur dari kebebasan dari para pengguna, X dapatlah dikatakan sebagai
perangkat lunak berpemilik.  Kebanyakan para pengguna X menjalankan versi
berpemilik yang merupakan bagian dari sistem Unix mereka, dan bukan
menjalankan versi bebasnya.</p>

<h3><em>Copyleft</em> dan <em>GNU GPL</em></h3>
<p>
Tujuan dari GNU ialah memberikan kebebasan kepada para pengguna, dan bukan
untuk menjadi terkenal. Jadi, kami membutuhkan ketentuan distribusi yang
mencegah perangkat lunak GNU menjadi berpemilik.  Cara ini kami namakan
&ldquo;<em>Copyleft</em>&rdquo;.(1)</p>
<p>
<em>Copyleft</em> memanfaatkan aturan <em>copyright</em> (Hak Cipta), namun
untuk tujuan yang bertolak belakang: bukan berarti untuk menjadi milik
pribadi, namun agar perangkat lunak tetap bebas.</p>
<p>
Intinya, <em>copyleft</em> memberi izin untuk menjalankan program, melakukan
penyalinan, modifikasi, serta mengedarkan hasil modifikasi
tersebut&mdash;tanpa menambahkan aturan penghalang kebebasan.  Jadi,
kebebasan yang merumuskan &ldquo;perangkat lunak bebas&rdquo; terjamin untuk
siapa pun yang memiliki salinan; dan merupakan hak yang tidak dapat
dibatalkan.</p>
<p>
Agar <em>copyleft</em> efektif, versi yang termodifikasi mesti bebas pula.
Ini akan menjamin bahwa karya kami (dan turunannya) akan tersedia untuk
masyarakat setelah diterbitkan. Bagi para relawan pemrogram yang
meningkatkan kinerja perangkat lunak GNU, <em>copyleft</em>-lah yang
mencegah para majikan untuk berkata, &ldquo;Kamu tidak boleh berbagi
perubahan tersebut, sebab kami akan menggunakannya untuk versi berpemilik
program kami.&rdquo;</p>
<p>
Permintaan bahwa perubahan harus bebas pula merupakan hal mendasar, jika
kita ingin menjamin kebebasan untuk semua pengguna program tersebut.
Perusahaan yang mem-<em>port</em> sistem <em>X Window</em> untuk perangkat
lunak dan keras mereka, biasanya melakukan sedikit perubahan. Perubahan
tersebut biasanya kecil dibandingkan dengan sistem X secara keseluruhan,
namun tidak trivial. Jika melakukan perubahan dapat menjadi alasan untuk
penolakan kebebasan, hal tersebut akan dengan mudah dimanfaatkan siapa pun
sebagai alasan.</p>
<p>
Masalah lainnya ialah menggabungkan program bebas dengan kode tidak bebas.
Hasil paduan tersebut pasti tidak bebas; semua kebebasan yang tidak ada pada
bagian tidak bebas tersebut menjadi berlaku pada keseluruhannya.
Mengizinkan perpaduan tersebut bagaikan membuat lubang besar pada sebuah
kapal hingga tenggelam. Jadi, prasyarat penting <em>copyleft</em> ialah
untuk menutup lubang tersebut: apa pun yang ditambahkan atau dikombinasikan
dengan program <em>copyleft</em> harus sedemikian rupa hingga versi
kombinasi tersebut harus bebas dan <em>copyleft</em>.</p>
<p>
Implementasi <em>copyleft</em> yang kami gunakan untuk hampir semua
perangkat lunak GNU ialah <em>GNU General Public License</em> (Lisensi
Publik Umum GNU), atau disingkat GNU GPL. Terdapat jenis lain dari
<em>copyleft</em> yang digunakan untuk hal khusus. Manual GNU juga
ter-<em>copyleft</em>, namun lebih sederhana, karena kerumitan GNU GPL tidak
diperlukan untuk manual.</p>
<p>
(1) Pada tahun 1984 atau 1985, Don Hopkins (seorang yang penuh gagasan)
mengirimkan daku sebuah surat. Pada amplopnya dituliskan beberapa kalimat
menarik termasuk: &ldquo;<em>Copyleft&mdash;all rights reversed</em>.&rdquo;
Lalu, kugunakan istilah &ldquo;<em>copyleft</em>&rdquo; untuk konsep
distribusi yang sedang dikembangkan pada saat itu.</p>

<h3><cite>The Free Software Foundation</cite>&mdash;Yayasan Perangkat Lunak
Bebas</h3>

<p>Seiring dengan pertumbuhan penggunaan Emacs, banyak yang turut serta
terlibat dalam proyek GNU, dan kami memutuskan bahwa tiba saatnya untuk
mencari dana lagi. Jadi, tahun 1985 kami mendirikan <em><a
href="http://www.fsf.org/">Free Software Foundation</a></em> (FSF, Yayasan
Perangkat Lunak Bebas), sebuah organisasi amal <i>tax exempt</i> (dapat
digunakan untuk pemotongan pajak) untuk pengembangan perangkat lunak
bebas. <abbr title="Free Software Foundation">FSF</abbr> juga mengambil alih
usaha distribusi <em>tape</em> Emacs; serta kemudian menambahkan perangkat
lunak bebas lainnya (GNU dan non-GNU), serta berjualan manual bebas pula.</p>

<p>FSF pun menerima donasi , namun kebanyakan pemasukan berasal
berjualan&mdash; salinan perangkat lunak bebas, serta layanan berhubungan
lainnya.  Kini, FSF berjualan CD-ROM kode program, CD-ROM dengan biner,
manual yang tercetak rapih (dan bebas di distribusi ulang dan dimodifikasi),
serta distribusi Istimewa (<em>Deluxe</em>: kami buatkan seluruh koleksi
kami pada perangkat keras pilihan anda).</p>

<p>FSF memperkerjakan karyawan yang menulis dan memelihara sejumlah paket
perangkat lunak GNU. Dua unggulan utama ialah <em>C library</em> dan
<em>shell</em>. <em>GNU C library</em> merupakan sesuatu yang dijalankan
oleh setiap program sistem GNU/Linux untuk berkomunikasi dengan Linux.
Perangkat tersebut dikembangkan oleh staf FSF, Roland McGrath.
<em>Shell</em> yang digunakan pada kebanyakan sistem GNU/Linux ialah <abbr
title="Bourne Again Shell">BASH</abbr>, <em>Bourne Again Shell</em>(1), yang
dikembangkan oleh karyawan FSF, Brian Fox.</p>

<p>Kami membiayai pengembangan program tersebut karena tujuan proyek GNU bukan
hanya pengembangan alat bantu. Tujuan kami ialah sebuah sistem operaso
lengkap, dan program tersebut diatas diperlukan untuk tujuan tersebut.</p>

<p>(1) &ldquo;<em>Bourne Again Shell</em>&rdquo; merupakan lulucon untuk nama
&ldquo;Bourne Shell&rdquo;, yang merupakan <em>shell</em> umum pada Unix.</p>

<h3>Dukungan Perangkat Lunak Bebas</h3>

<p>Filosofi perangkat lunak bebas menolak sebuah kebiasan berbisnis yang
tertentu, namun tidak menolak bisnis itu sendiri. Jika bisnis tersebut
menghormati kebebasan para pengguna, kami ucapkan semoga mereka berhasil.</p>

<p>Berjualan salinan Emacs memperlihatkan salah satu cara berbisnis perangkat
lunak bebas. Ketika FSF mengambil alih usaha tersebut, daku harus mencari
cara lain mencari nafkah. Kutemukan bahwa termasuk hubungan antara berjualan
layanan dan perangkat lunak yang dikembangkan; seperti ajar-mengajar:
bagaimana caranya memrogram Emacs, dan bagaimana caranya men-set GCC, serta
pengembangan perangkat lunak, seperti <em>porting</em> GCC kesebuah
arsitektur baru.</p>

<p>Dewasa ini, setiap jenis bisni perangkat lunak bebas telah diterapkan oleh
beberapa perusahaan. Beberapa diantaranya mendistribusikan kumpulan
perangkat lunak bebas pada CD-ROM; lainnya berjualan dukungan mulai dari
menjawab pertanyaan para pengguna hingga; memperbaiki <em>bugs</em>, serta
menambahkan fitur baru. Kami pun mulai mendapatkan perusahaan perangkat
lunak bebas yang berbasis peluncuran produk perangkat lunak bebas baru.</p>

<p>Namun awas! Ada beberapa perusahaan yang mengasosiasikan dirinya dengan
istilah &ldquo;<em>open source</em>&rdquo;, padahal berbisnis perangkat
lunak tidak bebas yang jalan bersamaan dengan perangkat lunak bebas.  Mereka
bukanlah perusahaan perangkat lunak bebas, namun perusahaan perangkat lunak
berpemilik yang produknya berusaha merampas kebebasan para
penggunanya. Mereka menyebutnya &ldquo;nilai tambah&rdquo;, yang
mencerminkan nilai yang mereka ingin kita terima: kenyamanan di atas
kebebasan. Jika kita lebih menghargai kebebasan, kita seharusnya menyebut
mereka dengan produk &ldquo;perampas kebebasan&rdquo;.</p>

<h3>Tujuan Teknis</h3>

<p>Tujuan utama GNU ialah menjadi perangkat lunak bebas.  Jadi, walau pun GNU
tidak memiliki keunggulan teknis atas Unux, GNU akan memiliki keunggulan
sosial, yaitu mengizinkan para pengguna bekerja-sama, serta akan memiliki
keunggulan etis, yaitu menghormati kebebasan para pengguna.</p>

<p>Namun, wajarlah jika menggunakan standar kebiasaan baik yang ada untuk
GNU&mdash;umpamanya, alokasi struktur data dinamis untuk menghindari
sembarang batasan ukuran statik, serta penggunaan seluruh kode 8 bit, jika
diperlukan.</p>

<p>Selain itu, kami menolak fokus Unix terhadap ukuran memori kecil, dengan
tidak mendukung mesin 16 bit (pada saat itu telah menjadi jelas bahwa mesin
32 bit akan menjadi biasa pada saat GNU selesai), dan kami tidak berusaha
membatasi penggunaan memori, kecuali jika melampai satu
<em>megabyte</em>. Untuk program yang tidak begitu membutuhkan penanganan
berkas besar, kami menanjurkan agar membaca seluruh berkas tanpa harus
khawatir terhadap <em>I/O</em> (keluaran/masukan).</p>

<p>Keputusan ini memungkinkan kebanyakan program GNU mengungguli program asli
Unix dalam kehandalan dan kecepatan.</p>

<h3>Sumbangan Komputer</h3>

<p>Seiring dengan peningkatan reputasi proyek GNU, banyak yang mulai menawarkan
donasi mesin Unix. Hal ini sangat bermanfaat, sebab cara termudah
mengembangkan komponen GNU ialah mengerjakannya pada sebuah sistem Unix,
lalu mengganti komponen tersebut satu per satu.  Namun mereka melontarkan
masalah etis: apakah kami berhak memiliki salinan Unix untuk keperluan
tersebut.</p>

<p>Unix pada saat tersebut (dan hingga kini) merupakan perangkat lunak
berpemilik, dan filosofi proyek GNU ialah menghindari penggunaan perangkat
lunak berpemilik. Namun, dengan alasan yang sama dapat disimpulkan bahwa
pelanggaran tersebut diperbolehkan, kusimpulkan bahwa sah-sah saja
menggunakan paket berpemilik, jika hal tersebut genting untuk pengembangan
perangkat lunak bebas pengganti, sehingga akan menghentikan penggunaan
perangkat lunak berpemilik.</p>

<p>Namun, walau pun merupakan pelanggaran yang beralasan, tetap merupakan
pelanggaran. Dewasa ini, kita tidak perlu lagi menggunakan salinan Unix,
sebab kami telah menggantikannya dengan sistem operasi bebas. Jika ktia
tidak dapat menggantikan sistem operasi sebuah mesin, kami akan mengganti
mesin tersebut.</p>

<h3>Daftar Tugas GNU</h3>

<p>Seiring dengan kelangsungan proyek GNU, serta penambahan komponen sistem
yang ditemukan atau pun dikembangkan, disadari bahwa akan bermanfaat jika
dibuatkan sebuah daftar sisa komponen yang belum ada. Kami kemudian
mempekerjakan para pengembang untuk menulis bagian yang belum ada
tersebut. Daftar tersebut kemudian dikenal dengan nama daftar tugas GNU
(<em>The GNU Task List</em>).  Selain komponen Unix yang belum ada, kami pun
mencatat beberapa proyek perangkat lunak dan dokumen yang bermanfaat, dan
kami pikir, sistem lengkap yang sebaiknya kami punyai.</p>

<p>Dewasa ini, nyaris tak ada komponen Unix yang tertinggal di daftar tugas
GNU&mdash;kebanyakan telah rampung, selain beberapa yang kurang
penting. Namun daftar tersebut kini penuh dengan proyek-proyek yang beberapa
menyebutnya dengan &ldquo;aplikasi&rdquo;. Program apa pun yang akan
digunakan selain segelintir pengguna, akan bermanfaat jika ditambahkan pada
sebuah sistem operasi.</p>

<p>Bahkan permainan (<em>games</em>) pun ada pada daftar tugas&mdash;dan telah
ada sejak awal. Dalam Unix ada permainan, wajarlah kalau GNU pun
mengadakan. Namun, di sini tidak ada masalah kompatibel, sehingga kami tidak
meniru permainan yang ada di Unix.  Jadi, kami mendaftar bebagai permainan
yabg berbeda, yang mungkin disukai oleh para pengguna.</p>

<h3>GPL pada <em>library</em> GNU</h3>

<p><em>GNU C Library</em> menggunakan <em>copyleft</em> jenis khusus yaitu
<em>GNU Library General Public License</em>, yang memberikan izin untuk
<em>link</em> perangkat lunak berpemilik dengan <em>library</em>
tersebut. Mengapa ada pengecualian ini?</p>

<p>Hal ini bukan masalah prinsip; tak ada prinsip yang mengatakan bahwa hasil
perangkat lunak berpemilik berhak menggunakan kode program kami (Buat apa
berkontribusi pada sebuah proyek namun menolak berbagi dengan kami?).
Menggunakan LGPL untuk <em>C library</em>, atau <em>library</em> mana pun,
merupakan strategi.</p>

<p><em>C library</em> melakukan tugas generik; setiap sistem berpemilik atau
kompiler akan datang dengan <em>C library</em>. Jika <em>C library</em> kami
hanya tersedia untuk perangkat lunak bebas saja, maka ini tidak akan
memberikan perangkat lunak bebas keunggulan apa pun&mdash;malahan akan
membuat orang tidak tertarik sama sekali untuk menggunakannya.</p>

<p>Terdapat satu sistem yang menjadi pengecualian: yaitu sistem GNU (dan ini
termasuk GNU/Linux), <em>GNU C Library</em> merupakan satu-satunya <em>C
Library</em>. Jadi, ketentuan distribusi dari <em>GNU C Library</em>
ditentukan dengan apakah ada kemungkinan untuk mengkompail sebuah program
berpemilik untuk sistem GNU.  Tak ada alasan etis untuk mengizinkan aplikasi
berpemilik pada sistem GNU, namun secara strategis, pelarangan dapat
menyebabkan lebih banyak orang menjadi enggan untuk menggunakan sistem GNU
dari pada jumlah peningkatan pengembangan aplikasi bebas. Itulah mengapa
penggunaan <em>Library GPL</em> merupakan strategi <em>C Library</em>.</p>

<p>Untuk <em>library</em> lainnya, keputusan strategis akan ditetapkan kasus
demi kasus. Jika sebuah <em>library</em> melakukan tugas khusus yang dapat
membantu penulisan jenis program tertentu, mengedarkannya dibawah GPL
(membatasi untuk program bebas saja), akan merupakan upaya untuk menolong
pengembang perangkat lunak bebas lainnya, dengan memberikan keunggulan
terhadap perangkat lunak berpemilik.</p>

<p>Umpamanya GNU <em>Readline</em>, sebuah <em>library</em> yang dikembangkan
untuk menyediakan pengeditan baris pada BASH. <em>Readline</em> diedarkan
dengan GNU GPL, dan bukan <em>Library GPL</em>. Ini akan mengurangi
penggunaan Readlin, namun tidak merupakan kerugian bagi kami.  Setidaknya
ada satu aplikasi berguna yang memanfaatkan Readlin, dan ini merupkan
keunggulan bagi masyarakat.</p>

<p>Para pengembang perangkat lunak berpemilik mempunyai keunggulan yang
diberikan uang; jadi para pengembang perangkat lunak bebas perlu memiliki
keunggulan pula.  Mudah-mudahan suatu hari, kita akan memiliki sebuah
koleksi <em>library</em> GPL yang tidak ada versi berpemiliknya, menyediakan
modul-modul bermanfaat untuk membangun perangkat lunak bebas; serta
menambahkan keunggulan utama untuk pengembangan perangkat lunak bebas.</p>

<h3>Menggaruk Yang Gatal?</h3>
<p>
Menurut Eric Raymond, &ldquo;Setiap karya perangkat lunak yang bagus dimulai
dengan kegatalan seorang pengembang.&rdquo; Mungkin saja hal tersebut
terkadang terjadi, namun banyak bagian penting dari perangkat lunak GNU
dikembangkan untuk melengkapi sebuah sistem operasi bebas. Hal tersebut
dirancang dengan matang, dan bukan sekedar dadakan.</p>
<p>
Umpamanya, kami mengembangkan <em>GNU C library</em> karena sebuah sistem
serupa Unix memerlukannya. Demikian pula BASH karena sebuah sistem serupa
Unix memerlukannya. Demikian pula GNU tar karena sebuah sistem serupa Unix
memerlukannya. Begitu pula dengan program buatan daku&mdash;kompiler C GNU,
GNU Emacs, GDB, dan GNU Make.</p>
<p>
Beberapa program GNU dikembangkan untuk mengatasi ancaman tertentu terhadap
kebebasan kami. Jadi, kami mengembangkan gzip sebagai pengganti program
<em>compress</em>, yang akhirnya kalah karena paten <abbr
title="Lempel-Ziv-Welch">LZW</abbr>. Kami mendanai pengembangan LessTif,
serta baru-baru ini memprakasi <abbr title="GNU Network Object Model
Environment">GNOME</abbr> dan Harmony, sebagai jawaban untuk mengatasi
beberapa masalah <em>library</em> berpemilik (lihat di bawah ini). Kami
mengembangkan <em>GNU Privacy Guard</em> (GNUPG) sebagai pengganti perangkat
lunak enkripsi yang tidak bebas, sehingga para pengguna tidak perlu memilih
antara privasi dan kebebasan.</p>
<p>
Tentu saja, penulisan program dapat menjadi daya pikat tersendiri, serta
banyak penambahan fitur oleh para pengguna karena kebutuhan sendiri.  Namun,
hal itu belum tentu merupakan alasan mengapa program tersebut ada.</p>

<h3>Perkembangan Tak Terduga</h3>
<p>
Pada saat awal proyek GNU, daku membayangkan bahwa kami akan mengembangkan
seluruh sistem GNU, lalu meluncurkannya secara keseluruhan. Ternyata, bukan
itu yang terjadi.</p>
<p>
Berhubung setiap komponen sistem GNU diimplementasikan pada sebuah sistem
Unix, setiap komponen tersebut dapat berjalan pada sistem Unix jauh sebelum
sistem GNU selesai. Beberapa program menjadi populer, dan para pengguna
mulai mem-port program tersebut&mdash;ke berbagai versi Unix yang kurang
kompatibel, dan terkadang juga pada sistem lainnya.</p>
<p>
Hal tersebut membuat program tersebut menjadi lebih canggih, serta menarik
baik dana mau pun kontributur ke proyek GNU. Namun, hal ini juga mungkin
menjadi penyebab keterlambatan perampungan sistem beberapa tahun. Para
pengembang GNU terpaksa meluangkan lebih banyak waktu untuk pemeliharaan dan
perbaikan, dari pada untuk merampungkan komponen yang belum ada.</p>

<h3>GNU Hurd</h3>
<p>
Hingga 1990, sistem GNU hampir rampung; kecuali komponen utama:
<em>kernel</em>. Diputuskan, bahwa kernel diimplementasikan sebagai kumpulan
dari server proses di atas Mach. Mach merupakan kernel mikro yang
dikembangkan oleh Universitas <em>Carnegie Mellon</em> serta kemudian
Universitas Utah. GNU Hurd merupakan sebuah kumpulan server (yaitu
<cite>Herd of GNUs</cite>) yang berjalan di atas Mach, serta menjalankan
berbagai tugas kenel Unix. Awal pengembangan agak tertunda, berhubung kami
menunggu pemenuhan janji bahwa Mach diluncurkan sebagai perangkat lunak
bebas.</p>
<p>
Salah satu alasan memilih rancangan ini ialah penghindaran yang sepertinya
merupakan hal yang paling sulit untuk tugas ini: <em>debugging</em> program
kernel tanpa <em>source-level debugger</em>.  Bagian ini sudah pernah
dilakukan sebelumnya, di Mach, dan kami mengharapkan untuk men-debug server
Hurd menggunakan GDB sebagai pengguna biasa.  Ternyata, hal ini membutuhkan
banyak waktu, serta <em>multithreaded server</em> yang saling mengirimkan
pesan merupakan hal yang sulit di-debug. Membuat Hurd bekerja sempurna telah
berlangsung bertahun-tahun.</p>

<h3>Alix</h3>
<p>
Kernel GNU semula bukan bernama Hurd. Nama aslinya Alix&mdash;dinamakan
sesuai dengan nama wanita kesayanganku pada waktu itu. Dia, seorang
administrator sistem, mengungkapkan bahwa namanya sesuai dengan pola nama
versi Unix. Secara bercanda, dia mengatakan bahwa, &ldquo;sesorang
seharusnya menamakan kernel dengan nama tersebut.&rdquo; Ku tak mengatakan
apa-apa, namun memutuskan untuk memberikan kejutan dengan memberi nama
kernel dengan Alix.</p>
<p>
Hal tersebut tidak sepenuhnya terjadi. Michael (kini Thomas) Bushnell,
pengembang utama kernel, lebih suka nama Hurd, serta menggunakan Alix
sebagai sebuah bagian tertentu dari kernel&mdash;yang menangkap <em>system
calls</em> serta melayani mereka dengan mengirimkan pesan kepada server
HURD.</p>
<p>
Sayangnya kami berpisah, serta Alix mengubah namanya. Secara terpisah,
perancangan Hurd berubah sehingga <em>C library</em> akan mengirim pesan
langsung ke para server, sehingga komponen Alix pun lenyap dari peredaran.</p>
<p>
Namun sebelum hal-hal tersebut terjadi, seorang rekan Alix menemukan nama
Alix dalam kode program Hurd, serta memberitahukan hal tersebut
kepadanya. Jadi, nama tersebut melaksanakan tugasnya.</p>

<h3>Linux dan GNU/Linux</h3>

<p>
GNU Hurd belum siap untuk penggunaan operasional. Untung, sebuah kernel lain
telah siap. Tahun 1991, Linux Torvalds mengembangkan sebuah kernel
kompatibel Unix dengan nama Linux. Sekitar 1992, penggabungan Linux dengan
sistem GNU yang-belum-begitu-lengkap menghasilkan sebuah sistem operasi
bebas (usaha penggabungan kedua hal tersebut merupakan sebuah hal yang cukup
rumit).  Berkat Linux, kita dapat menjalankan versi dari GNU dewasa ini.</p>
<p>
Kami menamakannya sistem <a href="/gnu/linux-and-gnu.html"> GNU/Linux</a>,
untuk menyatakan bahwa hal tersebut terdiri dari sistem GNU dengan kernel
Linux.</p>

<h3>Tantangan Masa Depan Kita</h3>
<p>
Kami telah membuktikan kemampuan kami untuk mengembangkan berbagai jenis
perangkat lunak bebas. Ini tidak berarti bahwa kami tak terkalahkan atau
terhentikan. Berbagai tantangan membuat masa depan penuh dengan
ketidak-pastian; menghadapi tantangan tersebut membutuhkan upaya
berkesinambungan dengan daya tahan yang kuat, terkadang selama
bertahun-tahun.  Ini membutuhkan orang-orang yang menghargai kebebasan
mereka, serta tidak membiarkan ada yang merampas kebebasan tersebut.</p>
<p>
Keempat bagian berikut ini akan membahas tantangan tersebut.</p>

<h3>Perangkat Keras Rahasia</h3>
<p>
Para pembuat perangkat keras cenderung untuk menjaga kerahasiaan spesifikasi
perangkat mereka. Ini menyulitkan penulisan <em>driver</em> bebas agar Linux
dan XFree86 dapat mendukung perangkat keras baru tersebut. Walau pun kita
telah memiliki sistem bebas yang lengkap dewasa ini, namun mungkin saja
tidak di masa mendatang, jika kita tidak dapat mendukung komputer yang akan
datang.</p>
<p>
Ada dua cara penanggulangan masalah ini. Para pemrogram dapat melakukan
rekayasa terbalik (<em>reverse engineering</em>) untuk mencari tahu cara
mendukung perangkat keras tersebut. Namun, sebaiknya kita memilih perangkat
keras yang didukung oleh perangkat lunak bebas. Jika kita cukup banyak,
kerahasiaan spesifikasi dapat berubah menjadi kebijaksanaan bunuh diri.</p>
<p>
Rekayasa terbalik merupakan pekerjaan yang besar; apakah terdapat cukup
pemrogram untuk melaksanakan tugas ini? Ya&mdash;jika kita sanggup membangun
opini kuat bahwa perangkat lunak bebas merupakan hal yang hakiki, maka
<em>driver</em> tidak bebas akan merupakan hal yang tidak dapat diterima.
Apakah kebanyakan diantara kita bersedia membayar ekstra, bahkan dengan
waktu ekstra, sehingga kita mendapatkan <em>driver</em> bebas? Ya&mdash;jika
makna dari kebebasan merupakan hal yang diterima secara luas.</p>

<h3><em>Library</em> Tidak Bebas</h3>
<p>
<em>Library</em> tidak bebas yang berjalan pada perangkat lunak bebas cwdapt
menjadi perangkap bagi pengembang perangkat lunak bebas.  Fitur menarik dari
<em>library</em> tersebut merupakan umpan; jika anda menggunakannya; anda
akan terperangkap, karena program anda tidak akan menjadi bagian yang
bermanfaat bagi sistem operasi bebas (Tepatnya, kita dapat memasukkan
program anda, namun tidak akan <em>berjalan</em> jika <em>library</em>-nya
tidak ada).  Lebih parah lagi, jika program tersebut menjadi terkenal,
tentunya akan menjebak lebih banyak lagi para pemrogram.</p>
<p>
Contoh pertama dari masalah ini ialah perangkat bantu <em>Motif</em>, saat
1980an. Walau pun pada saat tersebut belum ada sistem operasi bebas, telah
menjadi jelas bahwa Motif berpeluang untuk menjadi masalah dikemudian
hari. Proyek GNU menanggulangi ini dengan dua cara: meminta sejumlah proyek
perangkat lunak bebas untuk mendukung perangkat bantu X dan Motif, serta
menanyakan seseorang untuk menulis pengganti Motif yang bebas. Pekerjaan ini
memakan waktu tahunan; LessTif, dikembangkan oleh para pemrogram
<em>Hungry</em> (lapar), baru dapat mendukung kebanyakan aplikasi Motif
ditahun 1997.</p>
<p>
Antara 1996 dan 1998, kembali muncul perangkat bantu <em><abbr
title="Graphical User Interface">GUI</abbr></em> yang tidak bebas yaitu Qt,
yang digunakan pada sekumpulan perangkat lunak bebas, <abbr title="K Desktop
Environment">KDE</abbr>.</p>
<p>
Akibatnya, sistem GNU/Linux bebas tidak dapat menggunakan KDE, sebab tidak
dapat menggunakan <em>library Qt</em> tersebut. Namun, beberapa distro
sistem GNU/Linux yang tidak secara ketat mempermasalahkan perangkat lunak
bebas&mdash;memasukkan KDE kedalam distro mereka&mdash;membuat sistem
menjadi lebih mantap namun kurang bebas. Kelompok KDE secara aktif mengajak
para pemrogram menggunakan Qt, serta jutaan &ldquo;pengguna baru
Linux&rdquo; tidak pernah tahu bahwa ada masalah dengan hal ini. Keadaan
menjadi menjengkelkan.</p>
<p>
Masyarakat perangkat lunak bebas menjawab masalah ini dengan dua cara:
<em>GNOME</em> dan <em>Harmony</em>.</p>
<p>
<em>GNOME, the GNU Network Object Model Environment</em> (Jaringan Model
Obyek Lingkungan GNU), merupakan proyek <em>desktop</em> dari GNU. Dimulai
semenjak 1997 oleh Miguel de Icaza, serta dikembangkan dengan dukungan dari
<em>Red Hat Software</em>.  GNOME dimaksudkan untuk menyediakan fasilitas
<em>desktop</em>, namun sepenuhnya menggunakan perangkat lunak bebas.  GNOME
pun memiliki keunggulan teknis, seperti mendukung berbagai bahasa, dan bukan
hanya C++. Namun, tujuan utamanya ialah kebebasan: sama sekali tidak
menggunakan perangkat lunak yang tidak bebas.</p>
<p>
<em>Harmony</em> merupakan <em>library</em> kompatibel pengganti, dirancang
agar memungkinkan untuk menjalankan perangkat lunak KDE tanpa Qt.</p>
<p>
Pada bulan November 1998, para pengembang Qt mengumumkan perubahan lisensi,
sehingga sepertinya Qt akan menjadi perangkat lunak bebas.  Tidak ada
kepastian, namun ku pikir ada kemungkinan hal ini terjadi karena tekanan
masyarakat terhadap masalah Qt ketika belum menjadi perangkat lunak bebas
(Lisensi baru tersebut tidak nyaman dan kurang adil, sehingga sebaiknya
tetap saja menghindar Qt).</p>
<p>
[Catatan tambahan: bulan September 2000, Qt diluncur-ulang menggunakan GNU
GPL, yang intinya menyelesaikan masalah ini].</p>
<p>
Apa yang akan kita lakukan pada godaan penggunaan <em>library</em> non-free
berikutnya? Apakah seluruh masyarakat memahami perlunya penghindaran jebakan
ini? Ataukah akan banyak diantara kita menggadaikan kebebasan demi
kenyamanan, yang akan berakibat sebuah masalah besar? Masa mendatang kita
tergantung pada filosofi kita.</p>

<h3>Paten Perangkat Lunak</h3>
<p>
Ancaman terburuk yang perlu dihadapi berasal dari paten perangkat lunak,
yang dapat berakibat pembatasan fitur perangkat lunak bebas lebih dari dua
puluh tahun.  Paten algoritma kompresi LZW diterapkan 1983, serta hingga
kini kita tidak dapat membuat perangkat lunak bebas untuk kompresi <abbr
title="Graphics Interchange Format">GIF</abbr>. Tahun 1998 yang lalu, sebuah
program bebas yang menghasilkan suara <abbr title="MPEG-1 Audio Layer
3">MP3</abbr> terkompresi terpaksa dihapus dari distro akibat ancaman
penuntutan paten.
</p>
<p>
Ada berbagai upaya menanggulangi paten: kita dapat mencarikan bukti bahwa
sebuah paten tidak sah, atau kita mencari jalan alternatif untuk hal
tersebut. Namun kedua upaya tersebut tidak selalu berhasil; ketika
dua-duanya gagal, sebuah paten mungkin akan memaksa semua perangkat lunak
bebas tidak memiliki fitur yang dibutuhkan para pengguna. Apa yang mesti
dilakukan jika hal tersebut terjadi?</p>
<p>
Bagi yang menghargai perangkat lunak bebas demi kebebasan akan tetap hanya
memanfaatkan perangkat lunak bebas. Kita upayakan bekerja tanpa fitur paten
tersebut. Namun bagi yang menghargai perangkat lunak bebas karena
mengharapkan keunggulan teknis, besar kemungkinan akan menganggap sesuatu
kegagalan jika ada halangan paten.  Jadi, walau pun ada manfaatnya
membicarakan keefektifan praktis dari model pengembangan
&ldquo;<cite>bazaar</cite>&rdquo;, dan kehandalan serta kecanggihan dari
beberapa perangkat lunak bebas, kita seharusnya tidak berhenti di situ. Kita
juga harus berbicara perihal kebebasan dan prinsip.</p>

<h3>Dokumentasi Bebas</h3>
<p>
Masalah terbesar dari sistem operasi bebas kita bukan perangkat
lunak&mdash;namun kekurangan manual bebas baik yang disertakan dalam sistem
kita. Pendokumenan merupakan bagian penting dari paket perangkat lunak mana
pun. Paket perangkat lunak bebas utama tanpa disertakan dengan manual bebas
yang baik, akan merupakan kendala utama. Dewasa ini terdapat banyak
rintangan seperti itu.</p>
<p>
Dokumentasi bebas, seperti halnya perangkat lunak bebas, merupakan masalah
kebebasan, dan bukan harga. Kriteria untuk manual bebas mirip dengan
perangkat lunak bebas: merupakan masalah memberi seluruh pengguna kebebasan
tertentu. Distribusi ulang (termasuk penjualan komersial)  harus
diperbolehkan: baik secara <em>on-line</em> mau pun <em>cetakan</em>,
sehingga manual dapat disertakan pada setiap program.</p>
<p>
Izin untuk memodifikasi merupakan hal yang penting pula. Secara umum, ku tak
percaya keperluan untuk memodifikas segala rupa artikel dan buku.
Umpamanya, ku pikir tak ada yang merasa berkewajiban untuk memberi izin
mengubah artikel seperti ini, yang mengungkapkan tidakan mau pun pandangan
dari kami sendiri.</p>
<p>
Namun, terdapat alasan tertentu mengapa kebebasan memodifikasi merupakan hal
yang penting untuk dokumentasi perangkat lunak. Ketika terjadi perubahan
perangkat lunak, serta menambah atau mengubah fitur-fiturnya, jika mereka
apik, tentunya akan memodifikasi manualnya pula&mdash;sehingg mereka
menyajikan dokumentasi yang akurat dan berguna bersama-sama dengan
programnya. Sebuah manual yang tidak boleh diubah agar tetap akurat tidak
akan bermanfaat bagi masyarakat.</p>
<p>
Tidak ada masalah perihal pembatasan ketentuan mengubah berkas.  Umpamanya,
OK-OK saja kalau ada permintaan untuk tetap melampirkan ketentuan
<em>copyright</em> (hakcipta) dari penulis asli, ketentuan distribusi, serta
daftar lengkap pengarang. Demikian pula, seharusnya tidak apa-apa untuk
meminta bahwa versi termodifikasi mencantumkan catatan bahwa telah dilakukan
modifikasi, bahkan permintaan untuk tidak menghapus/ memodifikasi
bagian-bagian tertentu dari dokumen, selama bagian tersebut membahas hal
non-teknis. Pembatasan seperti ini tidak akan menhentikan para programmer
untuk mengadaptasi manual agar sesuai dengan program. Dengan kata lain, ini
tidak akan menghalangi masyarakat untuk memanfaatkan secara penuh manual
tersebut.</p>
<p>
Namun, harus dibolehkan untuk mengubah seluruh isi <em>teknis</em> dari
manual, serta mendistribusikan hasilnya melalui media seperti biasanya;
kalau tidak, pembatasan akan mengganggu masyarakat, manual menjadi tidak
bebas, dan kita membutuhkan manual yang lain.</p>
<p>
Apakah para pengembang perangkat lunak bebas memiliki kesadaran serta
kehendak penuh untuk menulis seluruh manual bebas? Sekali lagi, masa
mendatang kita tergantung pada filosofi.</p>

<h3>Bicaralah Perihal Kebebasan</h3>
<p>
Dewasa ini terdapat kira-kira sepuluh juta pengguna sistem GNU/Linux seperti
<em>Debian GNU/Linux</em> dan <em>Red Hat &ldquo;Linux&rdquo;</em>.
Perangkat lunak bebas telah sedemikian canggihnya, sehingga didatangi secara
berbondong-bondong oleh para pengguna semata karena alasan kepraktisan.</p>
<p>
Dampak yang menguntungkan dari hal ini ialah: peningkatan minat
mengembangkan perangkat lunak bebas, lebih banyak pengguna bisnis, serta
daya tarik lebih untuk menganjurkan pengembangan perangkat lunak bebas
komersial di sektor suasta (dari pada berpemilik).</p>
<p>
Namun sejalan dengan peningkatan ini, kepedulian terhadap filosofi perangkat
lunak bebas pun mengendur. Ini dapat menjadi masalah.  Kemampuan kita untuk
menghadapi tantangan dan ancaman tersebut di atas sangat tergantung
keinginan mempertahankan kebebasan. Agar kita tetap berkeinginan untuk
bebas, diperlukan upaya penyebaran hal tersebut kepada para pengguna baru
tersebut.</p>
<p>
Nyatanya kita gagal: upaya menarik pengguna baru jauh lebih pesat dari pada
penyebaran filosofi kebebasan. Kita perlu melaksanakan keduanya, serta kita
perlu menjaga keseimbangannya.</p>

<h3>&ldquo;<em>Open Source</em>&rdquo; (Terbuka)</h3>
<p>
Meyakinkan para pengguna baru perihal kebebasan menjadi lebih sulit di tahun
1998, ketika sebagian memutuskan untuk tidak lagi menggunakan istilah
&ldquo;perangkat lunak bebas&rdquo;, dan menggantinya dengan
&ldquo;perangkat lunak <em>open source</em>&rdquo; (Terbuka).</p>
<p>
Beberapa yang lebih senang istilah ini berkilah bahwa ini menghindari
istilah &ldquo;bebas&rdquo; sering diartikan
&ldquo;gratis&rdquo;&mdash;tujuan yang absah. Lainnya, dengan sengaja
mengesampingkan prinsip-prinsip gerakan perangkat lunak bebas dan proyek
GNU, untuk menarik perhatian para eksekutif dan pengguna bisnis. Banyak
diantara mereka lebih mengutamakan keuntungan dari pada kebebasan, di atas
segalanya. Jadi, retorika &ldquo;<em>open source</em>&rdquo; berfokus pada
kemungkinan pembuatan perangkat lunak yang canggih dan bermutu tinggi,
dengan mengesampingkan hal-hal yang berhubungan dengan kebebasan,
masyarakat, dan prinsip-prinsip.</p>
<p>
Majalah-majalah &ldquo;Linux&rdquo; merupakan contoh nyata&mdash;mereka
penuh dengan iklan-iklan perangkat lunak berpemilik yang jalan pada
GNU/Linux.  Jika &ldquo;Motif&rdquo; dan &ldquo;Qt&rdquo; berikut muncul,
apakah majalah tersebut akan memperingatkan para pemrogram untuk menjauh
dari program tersebut, atau mereka akan memuat iklan mereka?</p>
<p>
Dukungan dari pelaku bisnis dapat membantu masyarakat dalam berbagai cara;
asalkan semua sederajat, menjadi bermanfaat. Namun menarik dukungan mereka
dengan mengabaikan kebebasan dan prinsip-prinsip dapat menjadi bencana. Ini
akan merusak&mdash;bahkan lebih parah&mdash;keseimbangan dengan menghalangi
masyarakat mendapatkan informasi yang betul.</p>
<p>
&ldquo;Perangkat Lunak Bebas&rdquo; dan &ldquo;<em>Open Source</em>&rdquo;
secara garis besar merupakan kategori perangkat lunak yang sama, namun
sangat berbeda dalam hal prinsip dan nilai. Proyek GNU akan meneruskan
penggunaan istilah &ldquo;perangkat lunak bebas&rdquo;, untuk menekankan ide
kebebasan, dan bukan sekedar bahwa teknologi itu penting.</p>

<h3>Cobalah!</h3>
<p>
Filosofi dari Yoda (&ldquo;Tidak ada &lsquo;coba-coba&rsquo;&rdquo;)
terdengar enak, namun tidak untukku. Kebanyakan kerjaan daku dilakukan
dengan harap-harap cemas apakah dapat terlaksana, serta tak yakin apakah
tujuan akan tercapai.  Namun tetap ku coba, sebab tidak ada yang dapat
menghalangi.  Terkadang keheranan sendiri, terkadang daku berhasil.</p>
<p>
Terkadang daku gagal; beberapa cita-cita ku berantakan.  Namun daku temukan
ancaman-ancaman baru, sehingga ku siap untuk mencoba bertempur
kembali. Sambil jalan, ku pelajari cara mengatasi ancaman, serta meminta
para <em>hacker</em> lainnya untuk bergabung membantu.</p>
<p>
Dewasa ini, daku bukan satu-satunya. Ini merupakan pelipur lara serta
kegembiraan jika daku melihat sepasukan <em>hackers</em> bahu membahu
mempertahankan ancaman. Namun ancaman selalu bertambah setiap tahunnya, dan
kini Microsoft secara nyata mengancam masyarakat kami.  Kita tidak dapat
menganggap kebebasan sebagai sesuatu yang akan didapatkan begitu saja. Jika
anda ingin mempertahankan kebebasan, anda mesti mempersiapkan untuk
membelanya.</p>

<div class="translators-notes">

<!--TRANSLATORS: Use space (SPC) as msgstr if you don't have notes.-->
 </div>
</div>

<!-- for id="content", starts in the include above -->
<!--#include virtual="/server/footer.id.html" -->
<div id="footer">
<div class="unprintable">

<p>Silakan mengirimkan pertanyaan <strong>dalam bahasa Inggris</strong>
mengenai FSF dan GNU ke <a
href="mailto:gnu@gnu.org">&lt;gnu@gnu.org&gt;</a>. Cara <a
href="/contact/">lain menghubungi</a> FSF. Silakan memberitahu <strong>dalam
bahasa Inggris</strong> hal yang berhubungan dengan web (link mati, usulan,
dst.) ke <a href="mailto:webmasters@gnu.org">&lt;webmasters@gnu.org&gt;</a>,
Terimakasih.</p>

<p>
<!-- TRANSLATORS: Ignore the original text in this paragraph,
        replace it with the translation of these two:

        We work hard and do our best to provide accurate, good quality
        translations.  However, we are not exempt from imperfection.
        Please send your comments and general suggestions in this regard
        to <a href="mailto:web-translators@gnu.org">

        &lt;web-translators@gnu.org&gt;</a>.</p>

        <p>For information on coordinating and submitting translations of
        our web pages, see <a
        href="/server/standards/README.translations.html">Translations
        README</a>. -->
Jika anda berminat untuk menjadi relawan-penerjemah, atau ingin memberikan
masukan dalam bahasa Indonesia, atau hanya sekedar ingin tahu lebih lanjut,
silakan <a
href="/server/standards/translations/id/indoteam.id.html">mengunjungi laman
tersebut</a>. Silakan juga merujuk berkas <a
href="/server/standards/README.translations.html">panduan menerjemahkan</a>
untuk informasi tambahan.</p>
</div>

<!-- Regarding copyright, in general, standalone pages (as opposed to
     files generated as part of manuals) on the GNU web server should
     be under CC BY-ND 4.0.  Please do NOT change or remove this
     without talking with the webmasters or licensing team first.
     Please make sure the copyright date is consistent with the
     document.  For web pages, it is ok to list just the latest year the
     document was modified, or published.
     If you wish to list earlier years, that is ok too.
     Either "2001, 2002, 2003" or "2001-2003" are ok for specifying
     years, as long as each year in the range is in fact a copyrightable
     year, i.e., a year in which the document was published (including
     being publicly visible on the web or in a revision control system).
     There is more detail about copyright years in the GNU Maintainers
     Information document, www.gnu.org/prep/maintain. -->
<p>Copyright &copy; 1998, 2001 Richard Stallman</p>

<p>Ciptaan disebarluaskan di bawah <a rel="license"
href="http://creativecommons.org/licenses/by-nd/4.0/deed.id">Lisensi
Creative Commons Atribusi-TanpaTurunan 4.0 Internasional</a> (CC BY-ND 4.0).</p>

<!--#include virtual="/server/bottom-notes.id.html" -->
<div class="translators-credits">

<!--TRANSLATORS: Use space (SPC) as msgstr if you don't want credits.-->
Diterjemahkan ke bahasa Indonesia oleh <a
href="/server/standards/translations/id/indoteam.id.html">Kelompok Kerja
Penterjemah Web Proyek GNU</a></div>

<p class="unprintable"><!-- timestamp start -->
Perubahan terakhir:

$Date: 2020/07/04 08:32:33 $

<!-- timestamp end -->
</p>
</div>
</div>
<!-- for class="inner", starts in the banner include -->
</body>
</html>