تاریخچه کامل Unix و Linux از 1969 تا امروز
بررسی سیر تحول Unix در Bell Labs، چالشهای حقوقی AT&T و BSD در سال 1992 و دلایل برتری Linux در سرورها. این مقاله به ریشههای فنی و قانونی سیستمعاملهای مدرن میپردازد.
تاریخچه کوتاه Unix و Linux
تاریخچه Unix و Linux، بحثی طولانی درباره این است که چه کسی اجازه دارد مالک کد منبع باشد. Unix در سال 1969 در Bell Labs آغاز شد. Linux در سال 1991 در هلسینکی متولد شد و هیچ بخشی از آن کد اولیه را به اشتراک نمیگذارد. آنچه میان آنها منتقل شد، یک طراحی و مجموعهای از رابطهای منتشرشده بود: فایلها، پردازشها، پایپها و یک shell که برنامههای کوچک را به هم متصل میکند. Unix در دهه 1970 در دانشگاهها گسترش یافت، زیرا یک توافقنامه ضد انحصار در سال 1956، شرکت AT&T (American Telephone and Telegraph) را از فروش نرمافزار منع کرده بود؛ بنابراین Bell Labs کد منبع را با قیمت ارزان مجوزدهی کرد. Unix در نهایت به همهجا راه یافت، در حالی که خارج از AT&T متعلق به هیچکس نبود؛ و نزاعهای حقوقی بر سر مجوزها که پس از آن رخ داد، تعیین کرد که کدام سیستم شبه-Unix آزاد در نهایت در رک سرور شما قرار بگیرد.
1969: یک PDP-7 بلااستفاده و ایدههایی که ماندگار شدند
آزمایشگاههای Bell در سال 1969 از پروژه Multics خارج شدند. Multics (سرویس اطلاعات و محاسبات چندگانه) یک سیستم اشتراک زمانی بزرگ بود که با همکاری MIT و General Electric ساخته شده بود و آزمایشگاهها به این نتیجه رسیدند که تکمیل آن بیش از حد بزرگ است. Ken Thompson ایدههایی را که میپسندید حفظ کرد و بقیه را کنار گذاشت و یک سیستم اشتراک زمانی کوچک روی یک مینیکامپیوتر PDP-7 که کنار گذاشته شده بود، نوشت. Dennis Ritchie به او ملحق شد. نام Unix شوخیای بود که به هزینه Multics ساخته شد.
در سال 1970، این سیستم به یک PDP-11 منتقل شد که آزمایشگاهها برای تایپیستهای بخش ثبت اختراع خریده بودند، زیرا تأمین بودجه برای یک ابزار پردازش متن آسانتر از یک سیستمعامل بود. آن دستگاه 24 KB حافظه اصلی داشت که بین سیستم و برنامههای کاربر تقسیم میشد. این تصادف در تأمین بودجه دلیل آن است که اولین راهنمای Unix که تاریخ نوامبر 1971 را دارد، مجموعهای از اسناد فرمتشده بود و به همین دلیل است که شما هنوز man 5 crontab را تایپ میکنید. شماره بخشهای آن راهنما، همان شماره بخشهای راهنمای شماست.
دو تغییر باعث شد که این طراحی دائمی شود. Pipes در Version 3 در سال 1973 از راه رسیدند، زیرا Doug McIlroy سالها استدلال کرده بود که باید بتوان برنامهها را به صورت متوالی به هم متصل کرد و Thompson عملگر | را اضافه کرد تا خروجی یک برنامه به ورودی برنامه بعدی تبدیل شود. سپس Version 4، در اواخر سال 1973، با زبان C بازنویسی شد. یک سیستمعامل که با یک زبان قابلحمل نوشته شده باشد، میتواند به سختافزاری منتقل شود که برای آن نوشته نشده است؛ به همین دلیل است که Unix از تمام ماشینهایی که روی آنها شروع به کار کرد، بیشتر عمر کرد.
چرا یونیکس گسترش یافت: AT&T اجازه فروش آن را نداشت
یک حکم رضایت در سال 1956، پروندهٔ ضدانحصار علیه AT&T را مختومه کرد. AT&T انحصار تلفن خود را حفظ کرد و در مقابل، محدودیتی را پذیرفت: این شرکت باید از کسبوکارهایی غیر از مخابرات دوری میکرد. نرمافزار یکی از آن کسبوکارها بود. بنابراین وقتی دانشگاهها درخواست یونیکس کردند، Bell Labs نمیتوانست آن را به عنوان یک محصول بفروشد. این شرکت سورسکد را با هزینهای ناچیز، بدون پشتیبانی و بدون گارانتی مجوزدهی کرد.
تأثیر این موضوع بسیار بزرگ بود و اصلاً آن چیزی نبود که AT&T برنامهریزی کرده بود. ویرایش ششم یونیکس که در سال 1975 منتشر شد، با سورسکد کامل به دست صدها دپارتمان علوم کامپیوتر رسید. جان لاینز در دانشگاه نیو ساوت ولز، آن سورسکد هسته را همراه با تفسیر خطبهخط چاپ کرد و از روی آن تدریس نمود. یک نسل یاد گرفت که سیستمعامل چگونه کار میکند، آن هم با خواندن یک سیستمعامل واقعی.
سپس مجوز تغییر کرد. مجوز ویرایش هفتم در سال 1979 استفاده از سورسکد در کلاسها را ممنوع کرد، بنابراین تفسیر لاینز به صورت فتوکپی از فتوکپیها دستبهدست میشد. این شکلِ کلیِ ماجراست. یونیکس همهجا بود و در عین حال آزاد نبود، بنابراین هر بهبودی که هر کسی ایجاد میکرد، در واقع بهبودی برای کد انحصاری شخص دیگری بود.
برکلی: بخشهایی از Unix که واقعاً تایپ میکنید
Ken Thompson سال تحصیلی 1975 تا 1976 را در دانشگاه کالیفرنیا، برکلی گذراند و گروهی بسیار فعال در زمینه Unix از خود بر جای گذاشت. گروه تحقیقات سیستمهای کامپیوتری (CSRG) در برکلی، نوارهایی از بهبودهای محلی را منتشر کرد و آن نوارها به BSD یا همان Berkeley Software Distribution تبدیل شدند. Bill Joy بخش بزرگی از کارهای اولیه را انجام داد: 1BSD در سال 1978 و سپس 2BSD در سال 1979 که شامل ویرایشگر vi و C shell بود.
C shell همان جایی است که !! و !$ از آن نشأت میگیرند. Bash این نحو (syntax) را به ارث برد و به همین دلیل است که بسط تاریخچه در bash هنوز هم کسانی را که علامت تعجب را داخل کوتیشن دوتایی تایپ میکنند، غافلگیر میکند؛ آن هم پس از گذشت بیش از 40 سال.
سپس DARPA (آژانس پروژههای تحقیقاتی پیشرفته دفاعی ایالات متحده) به برکلی هزینه پرداخت کرد تا پروتکلهای اینترنتی جدید را در Unix پیادهسازی کند. نسخه 4.2BSD که در اوت 1983 منتشر شد، شامل TCP/IP (پروتکل کنترل انتقال روی پروتکل اینترنت) و رابط برنامهنویسی اپلیکیشن socket بود. هر سرویس شبکه روی سرور شما هنوز هم به ترتیب socket()، bind()، listen() و accept() را فراخوانی میکند، زیرا برکلی این نامها را در سال 1983 انتخاب کرد.
یک جزئیات، دهه بعد را تعیین کرد. نوار BSD یک سیستم کامل نبود. این نوار مجموعهای از افزودنیها به Unix شرکت AT&T بود و برای اجرای قانونی آن، به یک مجوز معتبر سورسکد از AT&T نیاز داشتید. برکلی طی چندین سال، بخشهای مربوط به AT&T را فایل به فایل با کدهای خود جایگزین کرد. اینکه آیا این جایگزینی واقعاً کامل بوده است یا خیر، پرسشی است که بعداً به دادگاه کشیده شد.
1984: فروپاشی و سپس جنگهای یونیکس
سیستم بل در 1 ژانویه 1984 منحل شد و حکم رضایتی که AT&T را از تجارت نرمافزار دور نگه میداشت، با آن از بین رفت. AT&T اکنون میتوانست Unix را به عنوان یک محصول بفروشد و همین کار را هم کرد. مجوزهای تجاری سورسکد گران شدند، بنابراین Unix دیگر آن چیز ارزانی نبود که دانشگاهها به دانشجویان ارائه میدادند.
فروشندگان قبلاً آن را فورک کرده بودند. هر شرکت تولیدکننده ایستگاه کاری، Unix مخصوص خود را روی سختافزار خودش عرضه میکرد، بنابراین تا اواخر دهه 1980، برنامهای که برای یکی نوشته میشد، برای اجرا روی دیگری نیاز به پورت شدن داشت. صنعت در سال 1988 به دو اردوگاه استاندارد تقسیم شد؛ Open Software Foundation در یک سو و Unix International در سوی دیگر. آنها سالها سیستمهای ناسازگار عرضه کردند و در عین حال بر سر اینکه کدام Unix نسخه اصلی است، بحث میکردند.
استاندارد POSIX (رابط سیستمعامل قابلحمل) از دل همین آشفتگی بیرون آمد. IEEE 1003.1 در سال 1988 منتشر شد و در آن مشخص شد که یک سیستم شبه-Unix باید چه کارهایی انجام دهد: فراخوانیهای سیستم، رفتار شل، ابزارهای استاندارد و رابطهای کتابخانه C. این موضوع از آنچه به نظر میرسد اهمیت بیشتری دارد، زیرا یک استاندارد در واقع یک مشخصات فنی است و هیچ مجوزی آن را محدود نمیکند. سه سال بعد، یک دانشجو بر اساس همین اسناد، یک هسته (kernel) نوشت.
Minix و خلائی که بر جای گذاشت
Andrew Tanenbaum در سال 1987 سیستم Minix را به عنوان سیستم آموزشی برای کتاب درسی سیستمعامل خود منتشر کرد. Minix یک سیستم کوچک شبه-Unix بود، سورسکد آن همراه کتاب ارائه میشد و روی کامپیوترهای شخصی ارزانقیمتی که دانشجویان در اختیار داشتند، اجرا میشد. مطالعهٔ آن در کلاس درس قانونی بود، در حالی که نسخهٔ Seventh Edition Unix دیگر چنین وضعیتی نداشت.
Minix به عمد کوچک باقی ماند، زیرا باید در یک کتاب قابلتوضیح میبود و Tanenbaum وصلههایی را که میتوانست آن را به یک سیستم عملیاتی (production) تبدیل کند، رد میکرد. مجوز آن نیز آزاد نبود: شما کتاب را میخریدید و بازنشر Minix اصلاحشده توسط شما، در اختیار خودتان نبود. بنابراین تا سال 1991، یک دانشجو میتوانست یک هستهٔ شبه-Unix فعال را مطالعه کند، اما نمیتوانست چیزی ماندگار بر پایهٔ آن بسازد.
پروژه GNU همه چیز داشت به جز هسته (kernel)
ریچارد استالمن پروژه GNU را در سپتامبر 1983 اعلام کرد، با این هدف که یک سیستمعامل کامل و آزاد شبیه به Unix ایجاد کند. تا سال 1991، پروژه GNU بیشتر اجزای پیرامون یک هسته را تولید کرده بود: کامپایلر GCC، کتابخانه C پروژه GNU، ابزارهای باینری و bash؛ پوستهای که برایان فاکس در سال 1989 نوشت و همان پوستهای است که سرور شما هنوز هنگام ورود، شما را در آن قرار میدهد. هسته GNU، یعنی Hurd، همان قطعهای بود که پیوسته به تعویق میافتاد.
نسخه 2 از مجوز عمومی همگانی GNU (GNU General Public License) در ژوئن 1991 منتشر شد. قاعده آن کوتاه است. شما میتوانید از کد استفاده کنید و آن را تغییر دهید، و اگر نتیجه را توزیع کردید، باید سورسکد را تحت همان شرایط توزیع کنید. آن قاعده، دو بخش بعد، به نقطه عطف این داستان تبدیل میشود.
اوت 1991: پست ارسالی به comp.os.minix
در تاریخ 25 اوت 1991، یک دانشجو در هلسینکی پستی را در گروه یوزنت 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.نسخه 0.01 در سپتامبر 1991 منتشر شد. این نسخه هیچ کد مشترکی با Unix یا Minix نداشت. این یک هسته (kernel) جدید برای پردازندههای 386 بود که روی یک ماشین Minix توسعه یافته، بر اساس رابطهای POSIX نوشته شده و با ابزارهای موجود GNU جفت شده بود. Tanenbaum در ژانویه 1992 به Torvalds گفت که یک هسته یکپارچه (monolithic kernel) طراحی منسوخی است. او از نظر طراحی حق داشت، اما Torvalds به پرسش متفاوتی پاسخ میداد: چه چیزی روی تنها کامپیوتر ارزانقیمتی که یک دانشجو در اختیار دارد، بهخوبی اجرا میشود.
در فوریه 1992، نسخه 0.12 تحت مجوز GPL بازنشر شد. Torvalds از آن زمان تاکنون این تصمیم را بهترین تصمیم خود خوانده است. مجوز اصلی لینوکس هرگونه تبادل مالی را ممنوع میکرد، که این امر مانع فعالیت فروشندگان CD و شرکتهای پشتیبانی میشد که در ادامه ظهور کردند. مجوز GPL ضمن اجازه دادن به تجارت، هرگونه تغییر توزیعشده را مجبور میکرد که به همان درخت کد مشترک بازگردد.
دعوی حقوقی: آوریل 1992 تا فوریه 1994
دانشگاه برکلی در ژوئن 1991 نسخه Networking Release 2 (Net/2) را منتشر کرد: یک سیستم تقریباً کامل BSD که فایلهای مشتقشده از AT&T از آن حذف شده بودند. شش فایل هسته در این نسخه وجود نداشت. بیل و لین جولیتر جایگزینهایی برای آنها نوشتند و 386BSD 0.0 را در مارس 1992 و سپس 386BSD 0.1 را در 14 ژوئیه 1992 منتشر کردند. اکنون یک سیستم BSD آزاد، کامل و بالغ برای پردازندههای 386 وجود داشت، درست در زمانی که Linux هنوز یک هسته سرگرمیمحور بود. شرکت Berkeley Software Design, Inc. (BSDi) یک نسخه تجاری پشتیبانیشده به نام BSD/386 را فروخت و آن را با شماره تلفن 1-800-ITS-UNIX تبلیغ کرد.
در آوریل 1992، شرکت Unix System Laboratories (USL)، زیرمجموعه AT&T که در آن زمان مالک Unix بود، به دلیل مسائل مربوط به اسرار تجاری و علامت تجاری Unix، از BSDi در دادگاه فدرال نیوجرسی شکایت کرد. این شکایت بعداً اصلاح شد تا هیئت امنای دانشگاه کالیفرنیا را نیز شامل شود. دانشگاه در سال 1993 در کالیفرنیا شکایت متقابلی مطرح کرد و استدلال کرد که AT&T کدهای برکلی را بدون ذکر منبعی که مجوز خودِ آن کدها الزامی کرده بود، در System V استفاده کرده است.
هسته حقوقی این پرونده در سال 1993 از هم پاشید. قاضی دیکینسون دبوویس با صدور قرار منع موقت برای USL مخالفت کرد و معتقد بود که ادعای حق تکثیر USL بر کدهای قدیمی 32V احتمالاً فاقد اعتبار است، زیرا AT&T آن کدها را سالها بدون درج اعلامیه حق تکثیر توزیع کرده بود. شرکت Novell در اواسط سال 1993، USL را از AT&T خریداری کرد و مدیریت Novell خواستار پایان یافتن این درگیری بود. این پرونده در فوریه 1994 مختومه شد. از حدود 18,000 فایل موجود در توزیع برکلی، سه فایل حذف شدند و حدود هفتاد فایل، اعلامیه حق تکثیر USL را دریافت کردند.
برکلی در ژوئن 1994 نسخه 4.4BSD-Lite را منتشر کرد که از نظر قانونی پاک بود. پروژههای FreeBSD و NetBSD که هر دو در سال 1993 بر پایه کدهای مورد مناقشه Net/2 بنا شده بودند، مجبور شدند سیستمهای خود را بر اساس این پایه جدید بازسازی کنند که این کار بیشترِ باقیمانده سال 1994 را به خود اختصاص داد. نسخه 1.0 Linux در مارس 1994، در میانه این بازسازی منتشر شد.
چرا لینوکس بازار سرور را گرفت و BSD نه؟
پاسخ رایج، پروندهٔ حقوقی است و این بخشی از حقیقت است. بین آوریل 1992 و فوریه 1994، هر کسی که قصد داشت یک یونیکس آزاد برای محصول خود انتخاب کند، باید ادعای حقوقی فعال وکلای AT&T را در برابر هستهای از یک دانشجوی فنلاندی که هیچکس نمیتوانست از او شکایت کند، میسنجید. این دقیقاً همان بازهٔ زمانی بود که وب ظهور کرد و اولین توزیعهای لینوکس پدیدار شدند: Slackware در ژوئیه 1993، Debian در اوت 1993، و سپس Red Hat و SUSE. شرکت Red Hat این برتری زمانی را به استاندارد تجاری تبدیل کرد و مسیر از Red Hat Linux به CentOS و سپس به Rocky و AlmaLinux توضیح میدهد که چرا توزیعی که در سال 1993 تأسیس شد، هنوز تعیین میکند چه چیزی روی بسیاری از سرورهای تجاری اجرا شود.
چهار عامل دیگر به اندازهٔ پروندهٔ دادگاه اهمیت داشتند:
- سختافزار. لینوکس از همان اولین خط کد، کامپیوترهای ارزانقیمت 386 PC را هدف قرار داد و این همان سختافزاری بود که ارزان شد. مرکز ثقل BSD، سیستمهای VAX و ایستگاههای کاری بود و پورت 386 تلاشی جانبی توسط دو نفر بود.
- مجوز. مجوز GPL شرکتهایی را که هستهٔ اصلاحشده را عرضه میکنند، ملزم میکند تغییرات خود را منتشر کنند؛ بنابراین کارهای انجامشده توسط فروشندگان به یک شاخهٔ واحد بازمیگشت. مجوز BSD به شرکتها اجازه میدهد تغییرات خود را خصوصی نگه دارند و شرکتها نیز همین کار را کردند.
- مدل توسعه. Torvalds وصلههای ارسالی از سوی افراد ناشناس را بهسرعت ادغام میکرد و دائماً نسخه منتشر میکرد. سیستم 386BSD آنقدر کند نسخه منتشر میکرد که کاربرانش در سال 1993 آن را دو بار به NetBSD و FreeBSD، و در سال 1995 دوباره به OpenBSD انشعاب (fork) دادند.
- شتاب. توسعهدهندگان به جایی میروند که سایر توسعهدهندگان حضور دارند و درایورها برای سیستمی نوشته میشوند که بیشترین کاربر را دارد.
در مورد پرسش فنی صادق باشیم. در سال 1994، BSD سیستم کاملتری بود؛ با یک هستهٔ منسجم، تاریخچهای مستند و کدهای شبکهای که لینوکس سالها طول کشید تا به آنها برسد. در سال 1994 هیچکس لینوکس را به این دلیل که بهتر بود انتخاب نکرد. مردم آن را انتخاب کردند چون در دسترس بود، هیچ مانع حقوقی نداشت، روی سختافزاری که از قبل داشتند اجرا میشد و هر هفته در حال بهبود بود.
آنچه BSD حفظ کرد و وضعیت فعلی اجرای آن
مسیر BSD ادامه یافت. آنچه این سیستمعامل از دست داد، جایگاه پیشفرض بودن بود. واضحترین گواه این موضوع روی دستگاه خود شما قرار دارد: پروژه OpenBSD در سال 1999 نرمافزار OpenSSH را نوشت و امروزه این برنامه، سرور SSH تقریباً در تمامی سیستمهای Linux عرضهشده است؛ به همین دلیل است که عادتهای کلید SSH که ارزش یادگیری دارند در هر دو خانواده یکسان هستند.
نتفلیکس ویدیوها را از طریق تجهیزات مبتنی بر FreeBSD ارائه میدهد. سیستمعامل Junos که روی روترهای Juniper اجرا میشود، در لایه زیرین خود FreeBSD است. نرمافزار سیستم PlayStation نیز از FreeBSD مشتق شده است. سیستمعاملهای macOS و iOS اپل، کدهای BSD را در هسته (kernel) و فضای کاربری (userland) خود حمل میکنند. مجوز آزادی که باعث شد BSD درخت کد مشترک سرورها را از دست بدهد، باعث شد کدهای BSD در حجم وسیعی از سختافزارها قرار بگیرند که هرگز نامی از آن نمیبرند.
اگر امروز قصد انتخاب دارید، پرسش شما ماهیتی کاربردی دارد تا تاریخی. مقایسه Linux و FreeBSD به عنوان سرور به مواردی نظیر ZFS، jails، درخت ports و میزان وابستگی نرمافزارهای شخص ثالث به زیرساخت Linux برمیگردد. FreeBSD 15 به عنوان سرور یک سیستم بهروز و تحت پشتیبانی است، نه یک اثر موزهای. و Linux در برابر Windows Server پرسشی مجزا است که پاسخ آن به پشته نرمافزاری (application stack) شما بستگی دارد.
طراحی سال 1969 که امروز روی VPS استفاده میکنید
هر یک از این موارد از اکثر افرادی که از آنها استفاده میکنند، قدیمیتر هستند.
- پایپ (Pipe). دستور
who | wc -lکاربران واردشده به سیستم را میشمارد، زیرا Unix نسخه 3 در سال 1973 اجازه داد خروجی یک برنامه به ورودی برنامه دیگری تبدیل شود. - بخشهای راهنما (Manual sections). دستورات
man 1 lsوman 5 crontabاز طرح شمارهگذاری راهنمای نوامبر 1971 استفاده میکنند. - تفکیک فایلسیستم. مسیر
/usrبه این دلیل وجود دارد که دیسک روت در آن PDP-11 در سال 1971 پر شد و توسعهدهندگان فایلها را به دیسک دوم منتقل کردند. توزیعها از آن زمان این تفکیک را از بین بردهاند: اگرls -ld /binرا روی Ubuntu 24.04 یا Debian 13 اجرا کنید، یک لینک نمادین بهusr/binدریافت خواهید کرد. - فراخوانیهای سوکت (Socket calls). برکلی آنها را برای 4.2BSD در سال 1983 نوشت و هنوز هم تمام دیمونهای شبکه از آنها استفاده میکنند.
- استاندارد POSIX. یک اسکریپت
#!/bin/shکه بر اساس این استاندارد نوشته شده باشد، بدون تغییر روی Linux، FreeBSD، macOS و Solaris اجرا میشود، زیرا این استاندارد همان چیزی است که همه آنها پیادهسازی کردهاند.
یک میراث از این مسیر جان سالم به در نبرد: توالی بوت اسکریپت-شل که لینوکس از System V به ارث برده بود، اکنون در تقریباً تمام توزیعها حذف شده است و استدلالی که آن را با systemd جایگزین کرد، جدیدترین مناقشه بر سر این است که یک سیستم شبه-یونیکس باید چگونه باشد.
هنگامی که یک سرور مجازی خصوصی اجاره میکنید و وارد آن میشوید، در حال تایپ در رابطی هستید که برای ماشینی با 24 کیلوبایت حافظه و برای خدمت به یک بخش ثبت اختراع طراحی شده بود. این رابط به این دلیل باقی ماند که منتشر شد، درباره آن بحث شد، استانداردسازی شد و سپس توسط افرادی که هرگز اجازه نداشتند کد اصلی را ببینند، از صفر بازنویسی شد.
FAQ
آیا لینوکس حاوی هیچ کد اصلی Unix است؟
خیر. لینوس توروالدز هسته (kernel) را از صفر و در سال 1991 نوشت و به جای استفاده از سورسهای AT&T، رابطهای POSIX را هدف قرار داد. میراث Unix در اینجا یک طراحی و رابط منتشرشده است: فایلها، پردازشها، پایپها و نامهای system call. ابزارهای GNU پیرامون هسته نیز از سال 1983 از صفر نوشته شدند. همین استقلال دلیلی است که دعاوی حقوقی AT&T بر سر کد BSD، هرگز لینوکس را تحت تأثیر قرار نداد.
دعوای حقوقی AT&T علیه BSD چه زمانی بود و آیا باعث نابودی BSD شد؟
شرکت USL، زیرمجموعه AT&T که مالک Unix بود، در آوریل 1992 از BSDi شکایت کرد و بعداً دانشگاه کالیفرنیا را نیز به عنوان خوانده به پرونده افزود. در سال 1993، قاضی از صدور حکم موقت خودداری کرد و اعلام نمود که ادعای حق تکثیر (copyright) بر سر کد قدیمی 32V احتمالاً فاقد اعتبار است. شرکت Novell در اواسط سال 1993 شرکت USL را خرید و در فوریه 1994 پرونده را مختومه کرد؛ در این توافق، تنها سه فایل از حدود 18,000 فایل حذف شد و حدود هفتاد فایل نیز با اعلامیه حق تکثیر جدید بهروز شدند. این اتفاق باعث نابودی BSD نشد، اما پذیرش BSD را در طول دو سالی که جهان در حال انتخاب یک Unix آزاد بود، متوقف کرد.
چرا لینوکس به جای BSD بازار سرورها را در دست گرفت؟
قطعیت حقوقی یکی از دلایل بود: در طول سالهای 1992 و 1993، لینوکس هیچ پرونده حقوقی نداشت اما BSD درگیر یک پرونده بود. دلایل دیگر عبارت بودند از هدف قرار دادن معماری 386 از همان روز اول، مجوز GPL که تغییرات فروشندگان را به یک شاخه واحد بازمیگرداند، و فرآیند ادغام (merge) که به اندازه کافی سریع بود تا مشارکتکنندگان را علاقهمند نگه دارد، در حالی که 386BSD به سه شاخه مختلف تقسیم شده بود. برتری فنی عامل تعیینکننده نبود، زیرا در سال 1994 سیستم BSD کاملتر بود.
آیا FreeBSD هنوز هم ارزش استفاده دارد؟
بله، و به دلایل مشخص: ادغام ZFS با سیستم پایه، jails به عنوان یک مدل ایزولهسازی بالغ، سیستم پایهای که به عنوان یک واحد منسجم توسعه یافته است، و مستنداتی که دقیق باقی میمانند. هزینه آن، تلاش برای سازگاری است، زیرا اکثر نرمافزارهای سرور شخص ثالث، ابزارهای کانتینر و پشتیبانی فروشندگان، لینوکس را پیشفرض میگیرند. زمانی FreeBSD را انتخاب کنید که عملکرد ذخیرهسازی و شبکه آن ارزش این هزینه را داشته باشد، نه صرفاً به دلیل وفاداری به تبار قدیمیتر.