Kasaysayan ng Unix at Linux, 1969 hanggang ngayon
Alamin kung paano nagsimula ang Unix sa Bell Labs noong 1969, umusbong ang BSD, humantong sa 1992 lawsuit, at nanaig ang 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 maaaring magkaroon ng pagmamay-ari sa source code. Nagsimula ang Unix sa Bell Labs noong 1969. Nagsimula ang Linux sa Helsinki noong 1991 at wala itong bahagi ng orihinal na code na iyon. Ang naglakbay sa pagitan ng mga ito ay isang disenyo at isang set ng mga inilathalang interface: mga file, process, pipe, at isang shell na nag-uugnay ng maliliit na program. Lumaganap ang Unix sa mga unibersidad noong dekada 1970 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 ni-license ang source code ng Bell Labs. Sa huli, napunta ang Unix sa lahat ng lugar habang walang nagmamay-ari nito sa labas ng AT&T, at ang mga sumunod na alitan sa licensing ang nagtakda kung aling libreng Unix-like system ang mapupunta sa server rack mo.
1969: isang ekstra na PDP-7, at mga ideyang nanatili
Umatras 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 napakalaki nito para matapos. Pinanatili ni Ken Thompson ang mga ideyang nagustuhan niya at inalis ang iba, saka sumulat ng maliit na time-sharing system sa isang itinapong PDP-7 minicomputer. Sumali sa kanya si Dennis Ritchie. Biro ang pangalang Unix 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 isang operating system. May 24 KB ng core memory ang machine na iyon, na hinati sa pagitan ng system at ng mga user program. 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 numero ng section sa manual na iyon ay ang mga numero ng section sa iyo.
Dalawang pagbabago ang nagpatatag sa disenyo. Dumating ang pipes sa Version 3 noong 1973, dahil maraming taon nang ipinaglalaban ni Doug McIlroy na dapat magawang pagdugtungin ang mga program end to end, at idinagdag ni Thompson ang | operator upang maging input ng susunod na program ang output ng isang program. Pagkatapos, noong huling bahagi ng 1973, muling isinulat ang Version 4 sa C. Ang operating system na nakasulat sa isang portable language ay maaaring ilipat sa hardware na hindi nito orihinal na pinagsulatan, kaya nalampasan ng Unix ang lahat ng machine kung saan ito unang tumakbo.
Bakit kumalat ang Unix: hindi ito pinayagang ibenta ng AT&T
Noong 1956, isinara ng isang consent decree ang antitrust case laban sa AT&T. Napanatili ng AT&T ang monopoly nito sa telepono at tinanggap ang isang limitasyon kapalit nito: hindi ito papasok sa mga negosyong hindi telecommunications. Kabilang sa mga negosyong iyon ang software. Kaya nang humingi ang mga unibersidad ng Unix, hindi ito maaaring ibenta ng Bell Labs bilang isang produkto. Nilisensyahan nito ang source sa nominal na bayad, na walang support at walang 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 na may kumpletong source. Inilimbag ni John Lions ng University of New South Wales ang kernel source na may line-by-line na commentary at ginamit ito sa pagtuturo. Natuto ang 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 sa mga klase, kaya kumalat ang Lions commentary bilang mga photocopy ng mga photocopy. Ito ang kabuuang anyo ng kuwento. Nasa lahat ng dako ang Unix ngunit hindi ito malayang gamitin nang sabay, kaya bawat improvement na ginawa ng sinuman ay naging 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 roon 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, o Berkeley Software Distribution, ang mga tape na iyon. Isinulat ni Bill Joy ang malaking bahagi ng unang mga bersyon: ang 1BSD noong 1978, at pagkatapos ay ang 2BSD noong 1979 na naglalaman ng vi editor at ng C shell.
Dito nagmula ang C shell syntax ng !! at !$. Minana ng Bash ang syntax na iyon. Kaya naman, makalipas ang mahigit apatnapung taon, nagugulat pa rin ang mga taong nagta-type ng exclamation mark sa loob ng double quotes dahil sa bash history expansion.
Binayaran naman ng DARPA, ang US Defense Advanced Research Projects Agency, ang Berkeley upang idagdag ang mga bagong internet protocol sa Unix. Ang 4.2BSD, na inilabas noong August 1983, ay nag-release ng TCP/IP (transmission control protocol over internet protocol) at ng socket application programming interface. Tinatawag pa rin ng bawat network service sa server mo ang socket(), bind(), listen() at accept() sa ganoong pagkakasunod-sunod, dahil pinili ng Berkeley ang mga pangalang iyon noong 1983.
Isang detalye ang nagtakda sa sumunod na dekada. Hindi kumpletong system ang BSD tape. Koleksiyon 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 naging tanong na kalaunan ay umabot sa korte.
1984: ang breakup, pagkatapos ay ang mga Unix war
Na-break up ang Bell System noong 1 January 1984, at nawala rin kasabay nito ang consent decree na nagbabawal sa AT&T na pumasok sa software business. Maaari nang ibenta ng AT&T ang Unix bilang produkto, at ginawa nga nito. Naging mahal ang commercial source licenses, kaya tumigil ang Unix sa pagiging murang software na ipinapamigay ng unibersidad sa mga estudyante.
Na-fork na ito ng mga vendor. Sariling Unix ang ipinapadala ng bawat workstation company para sa sarili nitong hardware, kaya pagsapit ng huling bahagi ng 1980s, kailangang i-port sa susunod na platform ang program na isinulat para sa isang platform. Nahati ang industriya sa dalawang standards camp noong 1988: ang Open Software Foundation sa isang panig at ang Unix International sa kabila. Ilang taon silang naglabas ng mga hindi compatible na system habang nagtatalo kung alin ang tunay na Unix.
Lumabas ang POSIX (portable operating system interface) mula sa kaguluhang iyon. Inilathala ang IEEE 1003.1 noong 1988, at inilagay nito sa dokumento kung ano ang dapat gawin ng isang Unix-like system: ang system calls, pag-uugali ng shell, standard utilities, at mga interface ng C library. Mas mahalaga ito kaysa sa unang tingin, dahil ang standard ay isang specification at walang license na sumasaklaw rito. Makalipas ang tatlong taon, sumulat ang isang estudyante 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 aklat ang source code nito, at gumagana ito sa murang PC na aktuwal na pagmamay-ari ng mga estudyante. Legal itong basahin sa classroom, samantalang hindi na ito pinapayagan ng Seventh Edition Unix.
Nanatiling maliit ang Minix ayon sa layunin nito dahil kailangan itong maipaliwanag sa isang aklat. Tinanggihan ni Tanenbaum ang mga patch na gagawa rito bilang production system. Hindi rin libre ang license nito: kailangan mong bilhin ang aklat, at hindi ikaw ang nagdedesisyon kung maaari mong i-redistribute ang binagong Minix. Kaya pagsapit ng 1991, maaaring basahin ng isang estudyante ang isang 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 naglalayong lumikha ng 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 ginagamit pa rin ng server mo sa pagsisimula ng session mo. 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, dapat mo ring ipamahagi ang source sa ilalim ng parehong mga tuntunin. Magiging mahalagang bahagi ng kuwentong ito ang tuntuning iyon pagkalipas ng dalawang section.
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 binuo 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 disenyo ang monolithic kernel. May punto siya tungkol sa disenyo, pero ibang tanong ang sinasagot ni Torvalds: ano ang mahusay na tatakbo sa nag-iisang murang computer na pagmamay-ari ng isang estudyante.
Noong Pebrero 1992, muling inilabas ang version 0.12 sa ilalim ng GPL. Tinawag ito ni Torvalds mula noon na pinakamainam niyang desisyon. Ipinagbawal ng orihinal na Linux license ang anumang pagpapalitan ng pera, kaya mapipigilan sana nito ang mga nagbebenta ng CD at mga kumpanyang nagbibigay ng support na sumunod. Pinahintulutan ng GPL ang komersiyo habang ipinag-uutos na ibalik ang bawat ipinamahaging pagbabago 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, at inalis na 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, at pagkatapos ay ang 386BSD 0.1 noong 14 Hulyo 1992. Mayroon nang libre, kumpleto, at mature na BSD para sa 386, habang hobby kernel pa rin ang Linux. Nagbenta ang Berkeley Software Design, Inc. (BSDi) ng supported commercial build na BSD/386, at ipinakilala 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 may-ari noon ng Unix, ang BSDi sa federal court sa New Jersey dahil sa trade secrets at Unix trademark. Kalaunan, binago ang demanda upang isama ang Regents of the University of California. Gumanti ng demanda ang University sa California noong 1993. Iginiit nito na naglabas ang AT&T ng Berkeley code sa loob ng System V nang hindi ibinibigay ang credit na hinihingi ng sarili nitong license.
Bumagsak ang legal na pundasyon ng kaso noong 1993. Tinanggihan ni Judge Dickinson Debevoise ang preliminary injunction na hinihingi ng USL. Sa pananaw niya, malamang na walang bisa 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 alitan. Naayos ang kaso noong Pebrero 1994. Sa humigit-kumulang 18,000 file sa Berkeley distribution, tatlo ang inalis at mga 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 kapwa itinatag noong 1993 batay sa pinagtatalunang Net/2 code, ay kinailangang muling buuin 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 nanaig sa server at hindi BSD?
Ang demanda ang karaniwang sagot, at bahagi ito ng buong paliwanag. Mula Abril 1992 hanggang Pebrero 1994, kailangang timbangin ng sinumang pumipili ng libreng Unix para sa isang produkto ang aktibong claim ng mga abogado ng AT&T laban sa isang kernel mula sa isang estudyanteng Finnish na walang makapagsasampa ng demanda. Ito mismo ang panahon nang dumating ang web at nang unang lumitaw ang mga Linux distribution: Slackware noong Hulyo 1993, Debian noong Agosto 1993, at kasunod ang Red Hat at SUSE. Ginawa ng Red Hat na commercial standard ang maagang kalamangan nito, at ipinapaliwanag ng landas mula Red Hat Linux patungong CentOS, at pagkatapos ay Rocky at AlmaLinux kung bakit ang isang distribution na itinatag noong 1993 ay nakaaapekto pa rin sa tumatakbo sa napakaraming business server.
May apat pang bagay na kasinghalaga ng kaso sa korte.
- Hardware. Tinarget ng Linux ang commodity 386 PC mula pa sa unang linya ng code nito, at iyon ang hardware na naging mura. Ang sentro ng BSD ay ang VAX at ang workstation, at ang 386 port nito ay ginawa ng dalawang taong nasa labas ng pangunahing proyekto.
- License. Inaatasan ng GPL ang kumpanyang nagre-release ng binagong kernel na ilathala ang mga pagbabago nito, kaya bumalik sa iisang tree ang mga ginawa ng mga vendor. Pinahihintulutan ng BSD license ang isang kumpanya na panatilihing pribado ang mga pagbabago nito, at ginawa nga ito ng mga kumpanya.
- Development model. Mabilis na isinama ni Torvalds ang patches mula sa mga hindi niya kakilala at patuloy siyang nagre-release. Mabagal mag-release ang 386BSD kaya dalawang beses itong ni-fork ng sarili nitong mga user noong 1993, bilang NetBSD at FreeBSD, at muli bilang OpenBSD noong 1995.
- Momentum. Pumupunta ang mga developer kung nasaan na ang ibang mga developer, at ginagawa ang mga driver para sa system na may pinakamaraming user.
Maging tapat tayo sa teknikal na tanong. Noong 1994, mas tapos na ang BSD bilang system, may magkakaugnay na base, dokumentadong history, at networking code na inabot ng maraming taon bago nahabol ng Linux. Walang pumili sa Linux noong 1994 dahil mas mahusay ito. Pinili ito dahil available ito, walang legal na sagabal, tumatakbo sa hardware na mayroon na sila, at gumaganda bawat linggo.
Ano ang pinanatili ng BSD, at kung saan ito tumatakbo ngayon
Nagpatuloy ang BSD. Ang nawala rito ay ang dating default na posisyon nito. Makikita ang pinakamalinaw na ebidensiya sa sarili mong machine: isinulat ng OpenBSD project ang OpenSSH noong 1999, at ito ang SSH server sa halos bawat Linux system na inilalabas ngayon. Dahil dito, magkapareho sa dalawang pamilyang ito ang mga gawi sa SSH key na dapat matutuhan.
Naghahatid ang Netflix ng video mula sa mga FreeBSD appliance. Ang Junos, ang operating system sa mga Juniper router, ay nakabatay sa FreeBSD. Nagmula sa FreeBSD ang system software ng PlayStation. May BSD code ang macOS at iOS ng Apple sa kernel at sa buong userland. Ang permissive license na naging dahilan kung bakit hindi napunta sa BSD ang shared server tree ang naglagay ng BSD code sa napakaraming hardware na hindi man lang ito binabanggit.
Kung namimili ka ngayon, praktikal ang tanong at hindi ito tungkol sa kasaysayan. Ang paghahambing ng Linux at FreeBSD bilang server ay nakasentro 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 pinananatiliang system, hindi isang exhibit sa museo. At ang Linux laban sa Windows Server ay hiwalay na tanong na ang sagot ay nakadepende sa application stack mo.
Ang 1969 design na ginagamit mo ngayon sa isang VPS
Mas luma ang bawat isa sa mga ito kaysa sa karamihan ng mga gumagamit nito.
- Ang pipe. Binibilang ng
who | wc -lang mga naka-log in na user dahil noong 1973, pinahintulutan ng Version 3 Unix na maging input ng ibang program ang output ng isang 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 ng PDP-11 na iyon noong 1971, kaya inilipat ng mga developer ang mga file sa ikalawang disk pack. Kalaunan, ibinalik ng mga distribution ang dating hati: patakbuhin angls -ld /binsa Ubuntu 24.04 o Debian 13 at 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 script na
#!/bin/shna isinulat ayon sa standard ay tumatakbo nang walang pagbabago sa Linux, FreeBSD, macOS, at Solaris, dahil ang standard ang ipinatupad ng lahat ng mga ito.
May isang minanang bahagi na hindi nakaligtas sa paglipat: wala na ngayon sa halos lahat ng distribution ang shell-script boot sequence na minana ng Linux mula sa System V, at ang argumentong nagpalit dito sa systemd ang pinakabagong pagtatalo tungkol sa dapat maging anyo ng isang Unix-like system.
Kapag nag-rent ka ng virtual private server at nag-log in, nagta-type ka sa isang interface na dinisenyo para sa isang machine na may 24 KB na memory at patent department na pagsisilbihan. Napanatili ito dahil inilathala, pinagdebatehan, isinailalim sa standardization, at muling ipinatupad mula sa simula ang interface 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, at POSIX interfaces ang tinarget niya sa halip na anumang source code ng AT&T. Ang minana ng Unix ay disenyo at isang published interface: mga file, proseso, pipe, at mga pangalan ng system call. Isinulat din mula sa simula ang mga GNU tool na nakapalibot sa kernel, simula noong 1983. Dahil dito, hindi naapektuhan ng litigation ng AT&T tungkol sa BSD code ang Linux.
Kailan isinampa ang kaso ng AT&T laban sa BSD, at pinatay ba nito ang BSD?
Kinasuhan ng USL, ang subsidiary ng AT&T na nagmamay-ari ng Unix, ang BSDi noong April 1992. Kalaunan, isinama rin sa kaso ang University of California bilang defendant. Noong 1993, tinanggihan ng judge ang preliminary injunction dahil malamang na walang bisa 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 mula sa humigit-kumulang 18,000 ang inalis, at binigyan ng mga bagong copyright notice ang humigit-kumulang pitumpu. Hindi nito pinatay ang BSD. Pinabagal nito ang adoption ng BSD sa loob ng dalawang taon kung kailan pumipili ang mundo ng isang libreng Unix.
Bakit Linux ang nangibabaw sa mga server sa halip na BSD?
Isang dahilan ang legal certainty: noong 1992 at 1993, walang kaso laban sa Linux samantalang may kaso laban sa BSD. Kabilang sa iba pang dahilan ang 386 bilang target mula pa sa simula, ang GPL na nagbabalik ng mga pagbabago ng vendor sa iisang tree, at ang merge process na sapat ang bilis para manatiling interesado ang mga contributor habang nag-fork sa tatlong direksyon ang 386BSD. Hindi technical merit ang nagpasya, dahil mas tapos na system ang BSD noong 1994.
Sulit pa bang gamitin ang FreeBSD ngayon?
Oo, at may malinaw na mga dahilan: integrated ang ZFS sa base system, mature na isolation model ang jails, iisang coherent unit ang pag-develop ng base system, at nananatiling accurate ang documentation. 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 sulit ang cost na iyon dahil sa storage at networking capabilities nito, hindi dahil sa katapatan sa mas lumang lineage.