Kasaysayan ng Unix at Linux, 1969 hanggang ngayon
Alamin kung paano nagsimula ang Unix sa Bell Labs noong 1969, kumalat sa BSD, humantong sa 1992 lawsuit, at nagbigay-daan sa Linux sa mga server.
Maikling kasaysayan ng Unix at Linux
Ang kasaysayan ng Unix at Linux ay isang mahabang pagtatalo tungkol sa kung sino ang may karapatang magmay-ari ng source code. Nagsimula ang Unix sa Bell Labs noong 1969. Nagsimula naman ang Linux sa Helsinki noong 1991 at wala itong ibinabahaging orihinal na code sa Unix. Ang nagmula sa Unix at nakaimpluwensiya sa Linux ay ang disenyo at isang set ng mga inilathalang interface: mga file, proseso, pipe, at shell na nagdurugtong ng maliliit na program. Kumalat ang Unix sa mga unibersidad noong 1970s dahil ipinagbawal ng isang antitrust settlement noong 1956 sa AT&T (American Telephone and Telegraph) ang pagbebenta ng software, kaya sa halip ay mura nitong ipinagamit ang source code sa pamamagitan ng licensing ng Bell Labs. Sa huli, napunta ang Unix sa halos lahat ng lugar kahit walang nagmamay-ari nito sa labas ng AT&T, at ang mga sumunod na pagtatalo sa licensing ang nagtakda kung aling libre at Unix-like na system ang napunta sa server rack mo.
1969: isang ekstrang PDP-7, at ang mga ideyang nanatili
Umalis ang Bell Labs sa proyekto ng Multics noong 1969. Ang Multics (multiplexed information and computing service) ay isang malaking time-sharing system na binuo kasama ang MIT at General Electric, at nagpasya ang Labs na masyado itong malaki para matapos. Pinanatili ni Ken Thompson ang mga ideyang nagustuhan niya at iniwan ang iba, saka sumulat ng isang maliit na time-sharing system sa isang itinapong PDP-7 minicomputer. Sumali sa kaniya si Dennis Ritchie. Ang pangalang Unix ay biro laban sa Multics.
Noong 1970, inilipat ang system sa isang PDP-11 na binili ng Labs para sa mga typist ng patent department, dahil mas madaling pondohan ang isang text processing tool kaysa sa isang operating system. May 24 KB na core memory ang machine na iyon, na hinati sa system at user programs. Dahil sa aksidenteng ito sa pagpopondo, ang unang Unix manual na may petsang November 1971 ay binubuo ng mga naka-format na dokumento, at ito rin ang dahilan kung bakit tina-type mo pa rin ang man 5 crontab. Ang mga section number sa manual na iyon ang mga section number sa manual mo.
Dalawang pagbabago ang nagpatatag sa disenyo. Dumating ang pipes sa Version 3 noong 1973, dahil maraming taon nang ipinaglalaban ni Doug McIlroy na dapat mapagdugtong ang mga program end to end, at idinagdag ni Thompson ang | operator upang maging input ng kasunod na program ang output ng isang program. Pagkatapos, noong huling bahagi ng 1973, muling isinulat ang Version 4 sa C. Maaaring ilipat ang operating system na isinulat sa isang portable language sa hardware na hindi nito pinagsulatan, kaya nalampasan ng Unix ang lahat ng machine na unang pinagpatakbuhan nito.
Bakit lumaganap ang Unix: hindi ito pinayagang ibenta ng AT&T
Isang consent decree noong 1956 ang nagresolba sa antitrust case laban sa AT&T. Napanatili ng AT&T ang monopolyo nito sa telepono, kapalit ng isang limitasyon: hindi ito papasok sa mga negosyong hindi nauugnay sa telecommunications. Isa ang software sa mga negosyong iyon. Kaya nang humiling ang mga unibersidad ng Unix, hindi ito maaaring ibenta ng Bell Labs bilang produkto. Nilisensiyahan nito ang source code sa nominal na bayad, nang walang support at warranty.
Malaki ang naging epekto nito, at hindi iyon ang binalak ng AT&T. Ang Sixth Edition Unix, na inilabas noong 1975, ay nakarating sa daan-daang computer science department kasama ang buong source code. Inilimbag ni John Lions ng University of New South Wales ang kernel source na may line-by-line commentary at ginamit ito sa pagtuturo. Natutuhan ng isang henerasyon kung paano gumagana ang operating system sa pamamagitan ng pagbabasa ng isang aktuwal na operating system.
Pagkatapos, nagbago ang license. Ipinagbawal ng Seventh Edition license noong 1979 ang paggamit ng source code sa mga klase, kaya kumalat ang Lions commentary bilang mga photocopy ng mga photocopy. Ganito ang kabuuang anyo ng kuwentong ito. Nasa lahat ng lugar ang Unix, ngunit hindi ito malayang gamitin nang sabay, kaya bawat improvement na ginawa ng sinuman ay improvement sa proprietary code ng ibang tao.
Berkeley: ang mga bahagi ng Unix na aktuwal mong tina-type
Ginugol ni Ken Thompson ang academic year na 1975 hanggang 1976 sa University of California, Berkeley, at nag-iwan siya ng napakaaktibong Unix group. Nag-release ang Computer Systems Research Group (CSRG) ng Berkeley ng mga tape na naglalaman ng mga lokal na improvement, at naging BSD ang mga tape na iyon—ang Berkeley Software Distribution. Isinulat ni Bill Joy ang malaking bahagi ng unang gawain: ang 1BSD noong 1978, at pagkatapos ay ang 2BSD noong 1979 na may kasamang vi editor at C shell.
Dito nagmula ang C shell syntax ng !! at !$. Minana ng Bash ang syntax na iyon. Kaya makalipas ang mahigit apatnapung taon, nakapagtataka pa rin sa mga nagta-type ng exclamation mark sa loob ng double quotes ang history expansion sa bash.
Pagkatapos, binayaran ng DARPA (ang US Defense Advanced Research Projects Agency) ang Berkeley upang idagdag ang mga bagong internet protocol sa Unix. Ang 4.2BSD, na ni-release noong August 1983, ay may kasamang TCP/IP (transmission control protocol over internet protocol) at socket application programming interface. Tinatawag pa rin ng bawat network service sa iyong server ang socket(), bind(), listen() at accept() sa ganoong pagkakasunod-sunod, dahil Berkeley ang pumili sa mga pangalang iyon noong 1983.
Isang detalye ang nagtakda sa sumunod na dekada. Hindi kumpletong system ang isang BSD tape. Set ito ng mga dagdag sa Unix ng AT&T, at kailangan mo ng valid na AT&T source license upang legal itong patakbuhin. Pinalitan ng Berkeley ang mga bahagi ng AT&T gamit ang sarili nitong code sa loob ng ilang taon, file kada file. Kung tunay na kumpleto ang pagpapalit na iyon ang tanong na kalaunan ay napunta sa korte.
1984: ang paghahati, pagkatapos ay ang mga Unix war
Hinati ang Bell System noong 1 January 1984, at kasabay nito nawala ang consent decree na nagbabawal sa AT&T na pumasok sa software business. Maaari na ngayong ibenta ng AT&T ang Unix bilang produkto, at ginawa nga nito. Naging mahal ang commercial source licenses, kaya hindi na murang software ang Unix na ipinapamahagi ng isang university sa mga estudyante.
Na-fork na ito ng mga vendor. Bawat workstation company ay nagre-release ng sarili nitong Unix para sa sarili nitong hardware, kaya pagsapit ng late 1980s, kailangang i-port sa susunod na platform ang program na isinulat para sa isang system. Nahati ang industriya sa dalawang standards camp noong 1988: ang Open Software Foundation sa isang panig at ang Unix International sa kabila. Ilang taon nilang ni-release ang mga incompatible system habang nagtatalo kung alin ang tunay na Unix.
Ang POSIX (portable operating system interface) ay nabuo mula sa magulong sitwasyong ito. Na-publish ang IEEE 1003.1 noong 1988, at itinala nito kung ano ang dapat gawin ng isang Unix-like system: ang system calls, shell behaviour, standard utilities, at C library interfaces. Mas mahalaga ito kaysa sa unang tingin, dahil ang standard ay isang specification at walang license na sumasaklaw rito. Pagkalipas ng tatlong taon, isang estudyante ang sumulat ng kernel batay sa mga dokumentong iyon.
Minix, at ang puwang na iniwan nito
Inilabas ni Andrew Tanenbaum ang Minix noong 1987 bilang teaching system para sa textbook niya tungkol sa operating systems. Maliit na Unix-like system ang Minix. Kasama sa libro ang source code nito, at tumatakbo ito sa murang mga PC na aktuwal na pagmamay-ari ng mga estudyante. Legal itong basahin sa classroom, hindi tulad ng Seventh Edition Unix noong panahong iyon.
Nanatiling maliit ang Minix nang sadya dahil kailangan itong maipaliwanag sa isang libro. Tinanggihan ni Tanenbaum ang mga patch na makapagpapabago rito bilang production system. Hindi rin free ang license: kailangan mong bilhin ang libro, at hindi ikaw ang nagpapasya kung maaari mong ipamahagi ang binagong Minix. Kaya noong 1991, maaaring magbasa ang isang estudyante ng gumaganang Unix-like kernel, ngunit hindi siya makabuo ng anumang pangmatagalan dito.
Halos kumpleto na ang GNU, maliban sa kernel
Inanunsyo ni Richard Stallman ang GNU project noong September 1983, na may layuning bumuo ng isang kumpletong libre at Unix-like na system. Pagsapit ng 1991, nagawa na ng GNU ang karamihan sa mga bahaging nakapaligid sa kernel: ang GCC compiler, ang GNU C library, ang binary utilities, at ang bash—ang shell na isinulat ni Brian Fox noong 1989 at ang shell na ginagamit pa rin sa pag-start ng iyong server. Ang GNU kernel na Hurd ang bahaging patuloy na naaantala.
Inilathala ang GNU General Public License version 2 noong June 1991. Maikli ang tuntunin nito. Maaari mong gamitin at baguhin ang code, ngunit kung ipamamahagi mo ang resulta, kailangan mong ipamahagi ang source sa ilalim ng parehong mga tuntunin. Magiging mahalagang bahagi ng kuwentong ito ang tuntuning iyon pagkalipas ng dalawang seksyon.
Agosto 1991: ang post sa comp.os.minix
Noong 25 Agosto 1991, isang estudyante sa Helsinki ang nag-post sa Usenet group na comp.os.minix:
Hello everybody out there using minix -
I'm doing a (free) operating system (just a hobby, won't be big and
professional like gnu) for 386(486) AT clones.Inilabas ang Version 0.01 noong Setyembre 1991. Wala itong ibinahaging code sa Unix o Minix. Isa itong bagong kernel para sa 386, na dinevelop sa isang Minix machine, isinulat batay sa POSIX interfaces, at ipinares sa mga GNU tool na mayroon na noon. Noong Enero 1992, sinabi ni Tanenbaum kay Torvalds na obsolete na ang monolithic kernel bilang design. May punto siya tungkol sa design, pero ibang tanong ang sinasagot ni Torvalds: ano ang mahusay na tatakbo sa isang murang computer na pagmamay-ari ng isang estudyante.
Noong Pebrero 1992, muling nilisensiyahan ang version 0.12 sa ilalim ng GPL. Tinawag ito ni Torvalds kalaunan na pinakamainam niyang desisyon. Ipinagbawal ng orihinal na Linux license ang anumang pagpapalitan ng pera, kaya mapipigilan nito ang mga vendor ng CD at support company na sumunod na lumitaw. Pinayagan ng GPL ang commerce habang tinitiyak na ang bawat ipinamahaging pagbabago ay ibabalik sa parehong shared tree.
Ang demanda: Abril 1992 hanggang Pebrero 1994
Inilabas ng Berkeley ang Networking Release 2 (Net/2) noong Hunyo 1991: halos kumpletong BSD system ito, kung saan inalis ang mga file na nagmula sa AT&T. Anim na kernel file ang nawawala. Sumulat sina Bill at Lynne Jolitz ng mga kapalit at inilabas ang 386BSD 0.0 noong Marso 1992, saka ang 386BSD 0.1 noong 14 Hulyo 1992. Mayroon nang libre, kumpleto, at mature na BSD para sa 386, habang hobby kernel pa lamang ang Linux. Nagbenta ang Berkeley Software Design, Inc. (BSDi) ng suportadong commercial build na BSD/386, at in-advertise ito gamit ang telephone number na 1-800-ITS-UNIX.
Noong Abril 1992, kinasuhan ng Unix System Laboratories (USL), ang subsidiary ng AT&T na nagmamay-ari noon ng Unix, ang BSDi sa federal court sa New Jersey dahil sa trade secrets at Unix trademark. Kalaunan, inamyendahan ang demanda upang isama ang Regents of the University of California. Gumanti ng demanda ang University sa California noong 1993. Iginiit nito na nag-ship ang AT&T ng Berkeley code sa loob ng System V nang walang attribution na hinihingi ng sarili nitong license.
Bumagsak ang legal na batayan ng kaso noong 1993. Tinanggihan ni Judge Dickinson Debevoise ang preliminary injunction na hinihingi ng USL. Para sa kanya, malamang na invalid ang copyright claim ng USL sa mas lumang 32V code, dahil ilang taon itong ipinamahagi ng AT&T nang walang copyright notices. Binili ng Novell ang USL mula sa AT&T noong kalagitnaan ng 1993, at nais ng management ng Novell na tapusin ang laban. Naayos ang kaso noong Pebrero 1994. Sa humigit-kumulang 18,000 file sa Berkeley distribution, tatlo ang inalis at humigit-kumulang pitumpu ang nilagyan ng USL copyright notices.
Inilabas ng Berkeley ang 4.4BSD-Lite noong Hunyo 1994, at legal itong malinis. Ang FreeBSD at NetBSD, na parehong itinatag noong 1993 batay sa pinagtatalunang Net/2 code, ay kinailangang buuin muli ang kanilang mga system gamit ang bagong base. Umabot ito sa malaking bahagi ng natitirang panahon ng 1994. Inilabas ang Linux 1.0 noong Marso 1994, habang isinasagawa pa ang rebuild na iyon.
Bakit Linux ang nanguna sa server at hindi BSD?
Ang demanda ang karaniwang sagot, at bahagi ito ng tamang sagot. Mula April 1992 hanggang February 1994, kailangang timbangin ng sinumang pumipili ng libreng Unix para sa isang produkto ang aktibong legal na pag-angkin ng mga abogado ng AT&T laban sa isang kernel mula sa isang estudyanteng Finnish na walang makapagsasampa ng kaso. Ito ang eksaktong panahong dumating ang web at lumitaw ang mga unang Linux distribution: Slackware noong July 1993, Debian noong August 1993, kasunod ang Red Hat at SUSE.
May apat pang ibang salik na kasinghalaga ng kaso sa korte.
- Hardware. Mula sa unang linya ng code nito, nakatuon ang Linux sa commodity 386 PC, at ito ang hardware na naging mura. Ang pangunahing platform ng BSD ay VAX at workstation, habang ang 386 port nito ay isang external effort ng dalawang tao.
- License. Inaatasan ng GPL ang kumpanyang nagre-release ng modified kernel na ilabas ang mga pagbabago nito, kaya bumalik ang gawa ng mga vendor sa iisang tree. Pinapayagan ng BSD license ang isang kumpanya na panatilihing pribado ang mga pagbabago nito, at ginawa nga ito ng mga kumpanya.
- Modelo ng development. Mabilis na nagme-merge si Torvalds ng patches mula sa mga hindi niya kilala at tuloy-tuloy na nagre-release. Mabagal ang release ng 386BSD kaya dalawang beses itong ni-fork ng sarili nitong users noong 1993, bilang NetBSD at FreeBSD, at muli bilang OpenBSD noong 1995.
- Momentum. Pumupunta ang mga developer kung nasaan na ang ibang developer, at ginagawa ang mga driver para sa system na may pinakamaraming user.
Maging tapat sa teknikal na tanong. Noong 1994, mas pulido ang BSD bilang system, na may magkakaugnay na base, dokumentadong history, at networking code na ilang taon pang hinabol ng Linux. Walang pumili sa Linux noong 1994 dahil mas mahusay ito. Pinili ito ng mga tao dahil available ito, walang legal na hadlang, tumatakbo sa hardware na mayroon na sila, at gumaganda bawat linggo.
Mga pinanatili ng BSD, at kung saan ito tumatakbo ngayon
Nagpatuloy ang BSD. Ang nawala rito ay ang dating default na posisyon. Makikita ang pinakamalinaw na ebidensiya sa sarili mong machine: isinulat ng OpenBSD project ang OpenSSH noong 1999, at ito ang SSH server sa halos lahat ng Linux system na inilalabas ngayon. Kaya magkapareho sa dalawang pamilya ang mga SSH key habit na dapat matutuhan.
Naghahatid ang Netflix ng video mula sa mga FreeBSD appliance. Ang Junos, ang operating system sa mga Juniper router, ay gumagamit ng FreeBSD sa ilalim. Nagmula sa FreeBSD ang system software ng PlayStation. May BSD code ang macOS at iOS ng Apple sa kernel at sa userland. Dahil permissive ang license nito, hindi napunta ang BSD sa iisang shared server tree, ngunit nailagay naman ang BSD code sa napakaraming hardware na hindi man lang ito binabanggit.
Kung namimili ka ngayon, praktikal ang tanong at hindi historikal. Nakabatay ang paghahambing ng Linux at FreeBSD bilang server sa ZFS, jails, ports tree, at sa dami ng third-party software na ipinapalagay na Linux ang nasa ilalim. Ang FreeBSD 15 bilang server ay isang kasalukuyan at pinananatiling sistema, hindi isang exhibit sa museo. At hiwalay na tanong ang Linux kumpara sa Windows Server, na ang sagot ay nakadepende sa application stack mo.
Ang 1969 na design na ginagamit mo ngayon sa isang VPS
Mas matanda ang bawat isa sa mga ito kaysa sa karamihan ng mga taong gumagamit nito.
- Ang pipe. Binibilang ng
who | wc -lang mga naka-log-in na user dahil pinahintulutan ng Version 3 Unix noong 1973 na maging input ng isang program ang output ng isa pang program. - Ang mga seksiyon ng manual. Ginagamit ng
man 1 lsatman 5 crontabang numbering scheme mula sa manual noong November 1971. - Ang paghahati ng filesystem. Umiiral ang
/usrdahil napuno ang root disk sa PDP-11 noong 1971, kaya inilipat ng mga developer ang mga file sa ikalawang disk pack. Binago na ng mga distribution ang dating paghahati: kapag pinatakbo mo angls -ld /binsa Ubuntu 24.04 o Debian 13, makakakuha ka ng symbolic link papunta sausr/bin. - Ang mga socket call. Isinulat ito ng Berkeley para sa 4.2BSD noong 1983, at ginagamit pa rin ito ng bawat network daemon.
- POSIX. Ang
#!/bin/shscript na isinulat batay sa standard ay tumatakbo nang walang pagbabago sa Linux, FreeBSD, macOS, at Solaris dahil ang standard ang ipinatupad ng lahat ng ito.
Kapag umupa ka ng virtual private server at nag-log in, nagta-type ka sa isang interface na dinisenyo para sa machine na may 24 KB na memory at patent department na pinaglilingkuran. Nagtagal ito dahil inilathala, pinagdebatehan, at isinapamantayan ang interface, at muli itong ipinatupad mula sa simula ng mga taong hindi kailanman pinayagang makita ang orihinal na code.
FAQ
May orihinal na Unix code ba ang Linux?
Wala. Isinulat ni Linus Torvalds ang kernel mula sa simula noong 1991, na tina-target ang POSIX interfaces sa halip na anumang source code ng AT&T. Ang pamana ng Unix ay nasa disenyo at published interface nito: mga file, process, pipe, at mga pangalan ng system call. Isinulat din mula sa simula ang GNU tools na nakapalibot sa kernel, simula noong 1983. Dahil dito, hindi naapektuhan ng paglilitis ng AT&T tungkol sa BSD code ang Linux.
Kailan nagsampa ng kaso ang AT&T laban sa BSD, at pinatay ba nito ang BSD?
Isinampa ng USL, ang subsidiary ng AT&T na nagmamay-ari ng Unix, ang kaso laban sa BSDi noong April 1992. Kalaunan, idinagdag nito ang University of California bilang defendant. Noong 1993, tumanggi ang hukom na maglabas ng preliminary injunction dahil malamang na invalid ang copyright claim sa mas lumang 32V code. Binili ng Novell ang USL noong kalagitnaan ng 1993 at na-settle ang kaso noong February 1994. Tatlong file lamang mula sa humigit-kumulang 18,000 ang inalis, at humigit-kumulang seventy ang binigyan ng mga bagong copyright notice. Hindi nito pinatay ang BSD. Pinigil nito ang pag-adopt sa BSD sa loob ng dalawang taon kung kailan pumipili ang mundo ng isang libreng Unix.
Bakit nangibabaw ang Linux sa mga server sa halip na BSD?
Isang dahilan ang legal certainty: noong 1992 at 1993, walang kinakaharap na kaso ang Linux, samantalang may kaso ang BSD. Kabilang sa iba pang dahilan ang 386 bilang target mula pa sa unang araw, ang GPL na nagbabalik ng mga pagbabago mula sa vendor sa iisang tree, at isang merge process na sapat ang bilis upang manatiling interesado ang mga contributor habang nahahati sa tatlong direksiyon ang 386BSD. Hindi technical merit ang nagpasya, dahil mas pulido ang BSD noong 1994.
Sulit pa bang patakbuhin ang FreeBSD ngayon?
Oo, at may mga konkretong dahilan: ang ZFS na integrated sa base system, ang jails bilang mature na isolation model, ang base system na binuo bilang isang coherent unit, at documentation na nananatiling accurate. Ang kapalit nito ay compatibility work, dahil ipinapalagay ng karamihan sa third-party server software, container tooling, at vendor support na Linux ang ginagamit. Piliin ang FreeBSD kapag sapat na dahilan ang storage at networking capabilities nito para tanggapin ang dagdag na compatibility work, hindi dahil lamang sa katapatan sa mas lumang lineage.