تاریخچه نرم‌افزارهای آزاد و متن‌باز

در دهه‌های ۱۹۵۰ و ۱۹۶۰، نرم‌افزارهای عامل کامپیوتر و کامپایلرها به عنوان بخشی از خرید سخت‌افزار بدون هزینه جداگانه تحویل داده شدند. در آن زمان، کد منبع، شکلی از نرم‌افزار قابل خواندن توسط انسان، به‌طور کلی با نرم‌افزاری که توانایی رفع اشکالات یا افزودن عملکردهای جدید را فراهم می‌کرد، توزیع می‌شد. دانشگاه‌ها اولین پذیرندگان فناوری محاسبات بودند. بسیاری از تغییرات ایجاد شده توسط دانشگاه‌ها، با رعایت اصول آکادمیک اشتراک‌گذاری دانش، آشکارا به اشتراک گذاشته شد و سازمان‌هایی برای تسهیل اشتراک‌گذاری به وجود آمدند. با بلوغ سیستم‌های عامل در مقیاس بزرگ، سازمان‌های کمتری اجازه تغییرات در نرم‌افزار عامل را دادند و در نهایت چنین سیستم‌عامل‌هایی برای اصلاح بسته شدند. با این حال، برنامه‌های کاربردی و سایر برنامه‌های کاربردی اضافه شده هنوز به اشتراک گذاشته می‌شوند و سازمان‌های جدیدی برای ترویج اشتراک گذاری نرم‌افزار تشکیل شده‌اند.

## به اشتراک گذاری تکنیک‌ها قبل از نرم‌افزار
مفهوم اشتراک گذاری آزاد اطلاعات تکنولوژیکی مدت‌ها قبل از رایانه‌ها وجود داشت. برای مثال، در سال‌های اولیه توسعه خودرو، یک شرکت حقوق ثبت اختراع موتور بنزینی دو چرخه را که در اصل توسط جورج بی سلدن ثبت شده بود، داشت. آنها با کنترل این پتنت توانستند صنعت را در انحصار خود درآورند و خودروسازان را وادار به پایبندی به خواسته‌های خود کنند و در غیر این صورت با خطر شکایت مواجه شدند. در سال ۱۹۱۱، خودروساز مستقل هنری فورد به چالشی برای ثبت اختراع سلدن پیروز شد. نتیجه این بود که پتنت Selden عملاً بی‌ارزش شد و انجمن جدیدی (که در نهایت به انجمن سازندگان وسایل نقلیه موتوری تبدیل شد) تشکیل شد. انجمن جدید یک توافق‌نامه مجوز متقابل را بین تمام تولیدکنندگان خودروی ایالات متحده ایجاد کرد: اگرچه هر شرکتی فناوری را توسعه می‌داد و حق ثبت اختراعات را ثبت می‌کرد، این پتنت‌ها آشکارا و بدون مبادله پول بین همه سازندگان به اشتراک گذاشته می‌شد. تا زمانی که ایالات متحده وارد جنگ جهانی دوم شد، ۹۲ حق ثبت اختراع فورد و ۵۱۵ پتنت از سایر شرکت‌ها بین این سازندگان به اشتراک گذاشته شد، بدون هیچ گونه مبادله پول (یا دعوی قضایی).

## نرم‌افزار آزاد قبل از دهه ۱۹۸۰
در دهه ۱۹۵۰ و در دهه ۱۹۶۰ تقریباً تمام نرم‌افزارها توسط دانشگاهیان و محققان شرکتی تولید می‌شد که با هم کار می‌کردند و اغلب به عنوان نرم‌افزار دامنه عمومی به اشتراک گذاشته می‌شدند. به این ترتیب، عموماً بر اساس اصول باز بودن و همکاری که مدت‌ها در زمینه‌های دانشگاهی ایجاد شده بود توزیع می‌شد و به خودی خود به عنوان یک کالا تلقی نمی‌شد. چنین رفتارهای جمعی بعداً به عنصر اصلی فرهنگ به اصطلاح هک (اصطلاحی با مفهومی مثبت در بین برنامه نویسان منبع باز) تبدیل شد. در آن زمان، کد منبع، شکلی از نرم‌افزار قابل خواندن برای انسان، به‌طور کلی با کد ماشین نرم‌افزار توزیع می‌شد، زیرا کاربران اغلب خودشان نرم‌افزار را تغییر می‌دادند، زیرا بدون تغییر روی سخت‌افزار یا سیستم‌عامل مختلف اجرا نمی‌شد، و همچنین برای رفع اشکال‌ها یا توابع جدید اضافه کنید [تأیید ناموفق] اعتقاد بر این است که اولین نمونه نرم‌افزار آزاد و منبع باز سیستم A-2 است که در بخش UNIVAC رمینگتون رند در سال ۱۹۵۳ توسعه یافت و با کد منبع آن برای مشتریان عرضه شد. از آنها دعوت شد تا بهبودهای خود را به UNIVAC برگردانند. بعدها، تقریباً تمام نرم‌افزارهای اصلی IBM با کد منبع توزیع شد. گروه‌های کاربری مانند IBM 701 به نام SHARE و Digital Equipment Corporation (DEC) به نام DECUS برای تسهیل تبادل نرم‌افزار تشکیل شدند. سیستم عامل SHARE که در ابتدا توسط جنرال موتورز توسعه یافت، توسط SHARE برای کامپیوترهای IBM 709 و ۷۰۹۰ توزیع شد. برخی از آزمایشگاه‌های کامپیوتر دانشگاه حتی یک خط‌مشی داشتند که بر اساس آن تمام برنامه‌های نصب شده روی رایانه باید با فایل‌های کد منبع منتشر شده همراه باشند.

## کنترل نسخه توزیع شده (۲۰۰۱–اکنون)
اولین سیستم کنترل بازبینی توزیع شده منبع باز (DVCS) 'tla' در سال ۲۰۰۱ بود (از زمان تغییر نام به آرش گنو). با این حال، آن و جانشینان آن 'baz' و 'bzr' (بازار) هرگز محبوبیت زیادی پیدا نکردند، و آرک گنو متوقف شد، اگرچه بازار همچنان ادامه دارد و توسط Canonical استفاده می‌شود. با این حال، سایر پروژه‌های DVCS شروع به کار کردند و برخی شروع به پذیرش قابل توجهی کردند.

## Git (از ۲۰۰۵ تاکنون)
Git، محبوب‌ترین DVCS، در سال ۲۰۰۵ ایجاد شد. برخی از توسعه دهندگان هسته لینوکس شروع به استفاده از یک DVCS اختصاصی به نام BitKeeper کردند، به ویژه بنیانگذار لینوکس لینوس توروالدز، اگرچه برخی دیگر از توسعه دهندگان کرنل به دلیل ماهیت اختصاصی آن هرگز از آن استفاده نکردند. زمانی که اندرو تریگل شروع به مهندسی معکوس BitKeeper با هدف تولید یک ابزار منبع باز کرد که می‌تواند برخی از عملکردهای مشابه را ارائه دهد، وضعیت غیرعادی که در آن توسعه هسته لینوکس شامل استفاده از برخی از نرم‌افزارهای اختصاصی می‌شد، به نتیجه رسید. نسخه تجاری BitMover، شرکتی که BitKeeper را توسعه داد، در پاسخ، در سال ۲۰۰۵ مجوز آزاد ویژه ای را که به توسعه دهندگان هسته خاصی اعطا کرده بود، لغو کرد.

در نتیجه حذف مجوز BitKeeper، لینوس توروالدز تصمیم گرفت DVCS خود را به نام git بنویسد، زیرا فکر می‌کرد هیچ‌یک از DVCSهای منبع باز موجود برای نیازهای خاص او به عنوان نگهدارنده هسته مناسب نیستند (به همین دلیل بود که او از BitKeeper در وهله اول استفاده کرد). تعدادی از توسعه دهندگان دیگر به سرعت وارد عمل شدند و به او کمک کردند، و git با گذشت زمان از یک «ردیاب محتوای احمقانه» نسبتاً ساده (که برخی از توسعه دهندگان بر روی آن پسوندهای «چینی» را توسعه دادند) به DVCS پیچیده و قدرتمندی که امروز است، تبدیل شد. با این حال، توروالدز دیگر خود git را حفظ نمی‌کند. سال‌ها توسط Junio Hamano نگهداری می‌شود و به دریافت کمک‌های بسیاری از توسعه‌دهندگان ادامه داده‌است. محبوبیت روزافزون DVCSهای منبع بازمانند git، و سپس، بعداً، سایت‌های میزبانی DVCS، که محبوب‌ترین آنها GitHub (تأسیس سال ۲۰۰۸) است، به‌طور تدریجی موانع مشارکت در پروژه‌های نرم‌افزار آزاد را کاهش داد. با سایت‌هایی مانند GitHub، دیگر مشارکت‌کنندگان بالقوه مجبور نبودند کارهایی مانند جستجوی URL برای مخزن کد منبع (که می‌تواند در مکان‌های مختلفی در هر وب‌سایت باشد، یا گاهی اوقات در فایل README یا اسناد توسعه‌دهنده قرار می‌گیرد) انجام دهند یا کار کنند. نحوه تولید پچ را بیاموزید و در صورت لزوم در لیست پستی مناسب مشترک شوید تا ایمیل پچ آنها به افراد مناسب برسد. مشارکت‌کنندگان می‌توانند به سادگی کپی خود را از یک مخزن با یک کلیک جدا کنند و زمانی که تغییرات آن‌ها آماده شد، یک درخواست کشش از شعبه مربوطه صادر کنند. GitHub به محبوب‌ترین سایت میزبانی در جهان برای نرم‌افزارهای منبع باز تبدیل شده‌است، و این به همراه سهولت فورک کردن و قابل مشاهده بودن فورک‌ها، آن را به راهی محبوب برای مشارکت‌کنندگان برای ایجاد تغییرات بزرگ و کوچک تبدیل کرده‌است.

## پیشرفت‌های اخیر
در حالی که حق نکثیر ساز و کار قانونی اولیه‌ای است که نویسندگان نرم‌افزارهای آزاد برای اطمینان از انطباق مجوز برای نرم‌افزار خود از آن استفاده می‌کنند، ساز و کارهای دیگری مانند قانون، پتنت نرم‌افزار و علائم تجاری نیز کاربردهایی دارند. در پاسخ به مسائل حقوقی مربوط به پتنت‌ها و DMCA، بنیاد نرم‌افزار آزاد نسخه ۳ پروانه جامع همگانی گنو خود را در سال ۲۰۰۷ منتشر کرد که به صراحت به مقررات مدیریت حقوق دیجیتال (DRM) و حقوق اختراع DMCA اشاره می‌کرد.

پس از توسعه GNU GPLv3، به‌عنوان دارنده حق نسخه‌برداری بسیاری از قطعات سیستم گنو، مانند نرم‌افزار GNU Compiler Collection (GCC), FSF بیشتر مجوزهای برنامه‌های GNU را از GPLv2 به GPLv3 به‌روزرسانی کرد. اپل، کاربر GCC و کاربر سنگین DRM و پتنت، تصمیم گرفت کامپایلر را در Xcode IDE خود از GCC به Clang، کامپایلر دیگر نرم‌افزار آزاد، اما که تحت مجوز مجاز است، تغییر دهد. LWN حدس زد که انگیزه اپل تا حدی به دلیل تمایل به اجتناب از GPLv3 بوده‌است. پروژه سامبا همچنین به GPLv3 تغییر یافت که اپل آن را در مجموعه نرم‌افزاری خود با یک نرم‌افزار جایگزین منبع بسته و اختصاصی جایگزین کرد.

ادغام‌های اخیر بر نرم‌افزارهای منبع باز اصلی تأثیر گذاشته‌است. Sun Microsystems (Sun) MySQL AB، مالک پایگاه داده منبع باز محبوب MySQL را در سال ۲۰۰۸ خریداری کرد.

اوراکل به نوبه خود Sun را در ژانویه ۲۰۱۰ خریداری کرد و حق چاپ، حق اختراع و علائم تجاری آنها را به دست آورد. این باعث شد که Oracle صاحب محبوب‌ترین پایگاه داده اختصاصی و محبوب‌ترین پایگاه داده منبع باز (MySQL) شود. [نیاز به منبع] تلاش‌های اوراکل برای تجاری سازی پایگاه داده منبع باز MySQL نگرانی‌هایی را در جامعه نرم‌افزار آزاد ایجاد کرده‌است. تا حدی در پاسخ به عدم اطمینان در مورد آینده MySQL، جامعه نرم‌افزار آزاد پروژه را در سیستم‌های پایگاه داده جدید خارج از کنترل اوراکل تقسیم کرد. اینها عبارتند از MariaDB, Percona و Drizzle. همه اینها نامهای متمایز دارند. آنها پروژه‌های مجزا هستند و نمی‌توانند از نام تجاری MySQL استفاده کنند.

## اندروید
در سپتامبر ۲۰۰۸، گوگل اولین نسخه اندروید، یک سیستم عامل جدید گوشی‌های هوشمند را به عنوان منبع باز منتشر کرد (برخی از برنامه‌های گوگل که گاهی اوقات اما نه همیشه همراه با اندروید هستند، منبع باز نیستند). در ابتدا، این سیستم عامل به صورت آزاد توسط گوگل ارائه شد و مشتاقانه توسط بسیاری از سازندگان گوشی مورد استفاده قرار گرفت. گوگل بعداً موتورولا موبیلیتی را خرید و گوشی‌ها و تبلت‌های اندرویدی «وانیلی» خود را تولید کرد و در عین حال به تولیدکنندگان دیگر اجازه استفاده از اندروید را داد. اندروید در حال حاضر محبوب‌ترین سکوی همراه در جهان است.

از آنجایی که اندروید مبتنی بر هسته لینوکس است، این بدان معناست که اکنون لینوکس هسته غالب در پلتفرم‌های موبایل (از طریق اندروید) و ابررایانه‌ها و همچنین یک بازیکن کلیدی در سیستم‌عامل‌های سرور است.

## Oracle v. Google
در آگوست ۲۰۱۰، اوراکل از گوگل شکایت کرد و ادعا کرد که استفاده از جاوا در اندروید، حق چاپ و حق اختراع اوراکل را نقض کرده‌است. آزمایش اولیه اوراکل علیه گوگل در ماه مه ۲۰۱۲ با این نتیجه که گوگل حق اختراعات اوراکل را نقض نکرده‌است به پایان رسید و قاضی دادگاه حکم کرد که ساختار رابط‌های برنامه‌نویسی برنامه جاوا (API) مورد استفاده توسط گوگل دارای حق چاپ نیست. هیئت منصفه متوجه شد که گوگل یک نقض حق نسخه برداری پیش پا افتاده ("دمینی") انجام داده‌است، اما طرفین شرط کردند که گوگل هیچ خسارتی پرداخت نخواهد کرد، زیرا بسیار پیش پا افتاده‌است. با این حال، اوراکل به مرکز فدرال اعتراض کرد و گوگل یک درخواست تجدیدنظر متقابل را در مورد ادعای کپی تحت اللفظی ارائه کرد. مرکز فدرال حکم داد که نقض حق نسخه‌برداری کوچکی که توسط Google تأیید شده‌است، کم‌اهمیت نبوده‌است، و موضوع استفاده منصفانه را برای بررسی مجدد به قاضی دادگاه بازگرداند. در سال ۲۰۱۶، این پرونده مجدداً محاکمه شد و هیئت منصفه برای گوگل به دلیل استفاده منصفانه پیدا شد.

## Chromium OS (از ۲۰۰۹ تاکنون)
تا همین اواخر، لینوکس هنوز یک انتخاب نسبتاً غیر معمول سیستم عامل برای دسکتاپ و لپ‌تاپ بود. با این حال، کروم‌بوک‌های گوگل که سیستم‌عامل کروم را اجرا می‌کنند که در اصل یک کلاینت نازک است، ۲۰ تا ۲۵ درصد از بازار لپ‌تاپ‌های زیر ۳۰۰ دلار آمریکا را به خود اختصاص داده‌اند. سیستم‌عامل کروم از سیستم‌عامل آزاد و متن‌باز کرومیوم، که مبتنی بر لینوکس است، ساخته شده‌است، تقریباً به همان روشی که نسخه‌های اندرویدی که بر روی تلفن‌های تجاری موجود عرضه می‌شوند، از نسخه متن‌باز اندروید ساخته شده‌اند.
## منابع

رده:تاریخ نرم‌افزارهای آزاد و متن‌باز
رده:جنبش فرهنگ آزاد
رده:جنبش نرم‌افزار آزاد