گنو، مجوز و یک انتخاب سرنوشتساز
برای فهمیدن قسمت دوم این داستان، باید هشت سال به عقب برگردیم. در ۲۷ سپتامبر ۱۹۸۳، برنامهنویسی در مؤسسهٔ فناوری ماساچوست به نام ریچارد استالمن پیامی در گروههای گفتوگوی اینترنتی منتشر کرد و از برنامهای بلندپروازانه خبر داد: ساختن یک سیستمعامل کامل که هر کس بتواند آزادانه آن را بهکار ببرد، بخواند، تغییر دهد و با دیگران به اشتراک بگذارد. نام این پروژه گنو بود.
انگیزهٔ استالمن با انگیزهٔ توروالدز فرق داشت. توروالدز کنجکاو بود و میخواست دستگاهش را بهتر بشناسد؛ استالمن نگران آزادی بود. او دیده بود که نرمافزارها یکییکی بسته میشوند و کاربران حق دیدن و اصلاح ابزارهای خود را از دست میدهند. از نگاه او، این فقط مسئلهای فنی نبود؛ مسئلهای اخلاقی بود.
قطعههای آماده، قطعهٔ گمشده
در طول دههٔ ۱۹۸۰، پروژهٔ گنو و داوطلبانش بسیاری از اجزای یک سیستمعامل را ساختند: مترجم برنامه که کد را به زبان ماشین برمیگرداند، ویرایشگر متن، پوستهٔ فرمانها و دهها ابزار کوچک و بزرگ دیگر. اما یک قطعهٔ مهم هنوز آماده نبود: هسته. هستهٔ خود گنو در دست ساخت بود، ولی کارش طول کشید.
اینجا بود که دو داستان به هم رسیدند. هستهٔ توروالدز با ابزارهای گنو ساخته میشد و با آنها کار میکرد. ترکیب این دو، برای نخستین بار سیستمعاملی کامل و آزاد پدید آورد. بنیاد نرمافزار آزاد تا امروز تأکید میکند که نام درست این ترکیب «گنو/لینوکس» است، و این بحث نامگذاری هنوز میان طرفداران ادامه دارد.
مجوزی که شرط میگذارد
نخستین نسخههای هستهٔ توروالدز با مجوزی ساده منتشر میشدند که یک محدودیت مهم داشت: هیچکس حق نداشت آن را در برابر پول توزیع کند. این شرط در نگاه اول منصفانه به نظر میرسید، اما مشکلساز بود؛ کسانی که میخواستند هسته را روی دیسکهای فیزیکی کپی کنند و فقط هزینهٔ دیسک و پست را بگیرند، عملاً مجاز نبودند.
استالمن سالها پیش، برای پروژهٔ گنو، راه حل دیگری طراحی کرده بود: «مجوز عمومی همگانی گنو» یا جیپیال، که نسخهٔ دوم آن در ژوئن ۱۹۹۱ منتشر شده بود. منطق جیپیال ساده و هوشمندانه است: هر کس میتواند نرمافزار را بهکار ببرد، تغییر دهد و حتی بفروشد؛ اما اگر نسخهٔ تغییریافته را منتشر کند، باید کد آن را هم با همین شرایط در اختیار دیگران بگذارد. این ایده «کپیچپ» نام گرفت: بهجای آنکه حق نشر برای بستن نرمافزار به کار رود، برای باز نگهداشتن آن به کار میرود.
یادداشتی در نسخهٔ ۰٫۱۲
در یادداشتهای انتشار نسخهٔ ۰٫۱۲ هسته در اوایل ۱۹۹۲، توروالدز بخشی با عنوان «حق نشر» نوشت. او توضیح داد که چند نفر از او خواستهاند مجوز را با کپیچپ گنو سازگار کند و شرط «نباید آن را در برابر پول توزیع کنید» را بردارد، و افزود: «موافقم». او پیشنهاد داد که از اول فوریه، مجوز گنو جایگزین شود، به شرط آنکه کسانی که در نوشتن کد کمک کرده بودند مخالفتی نداشته باشند، و از هر کس اعتراضی داشت خواست با او مکاتبه کند.
این جزئیات کوچک مهم است: توروالدز حتی برای تغییر مجوز، نظر مشارکتکنندگان را پرسید. همان روحیهای که در قسمت اول دیدیم، اینجا هم ادامه داشت.
نقطهٔ عطف
با جیپیال، یک قول روشن به همهٔ مشارکتکنندگان داده شد: هیچ شرکتی نمیتواند حاصل کار جمعی را بردارد، ببندد و بهعنوان محصول انحصاری خود بفروشد. هر بهبودی که منتشر شود، به جمع برمیگردد. همین اطمینان باعث شد افراد و بعدها شرکتها با خیال راحت وقت و پول خود را روی این هسته بگذارند. در عین حال، چون فروش ممنوع نبود، راه برای ورود کسبوکارها باز شد.
درسی برای کسبوکارها
قواعد بازی را از روز اول روشن کنید. مشارکتکنندگان، چه داوطلب باشند، چه کارمند و چه شریک تجاری، وقتی سرمایهگذاری میکنند که بدانند حاصل کارشان چه سرنوشتی خواهد داشت.
دوم، گاهی بهترین ابزار را دیگری پیشتر ساخته است. توروالدز مجوز خودش را اختراع نکرد؛ ابزاری آزموده را برداشت. شرکتها هم لازم نیست همهچیز را از صفر بسازند.
سوم، تغییر قواعد را با مشورت انجام دهید. وقتی قواعد جمعی را عوض میکنید، پرسیدن از ذینفعان هزینهٔ کمی دارد و اعتماد زیادی میسازد.
در قسمت بعد: وقتی آزادی و رایگانبودن قطعی شد، پرسشی تازه پیش آمد: اگر نرمافزار رایگان است، چه کسی از آن پول درمیآورد؟ پاسخ را شرکتهایی دادند که کسی انتظارشان را نداشت.
منابع / Sources
- "Initial Announcement (of the GNU project)", Richard Stallman / GNU Project, 1983-09-27 — https://www.gnu.org/gnu/initial-announcement.html
- "About the GNU Operating System", Free Software Foundation, n.d. — https://www.gnu.org/gnu/about-gnu.html
- "GNU General Public License, version 2", Free Software Foundation, 1991-06 — https://www.gnu.org/licenses/old-licenses/gpl-2.0.html
- "RELNOTES-0.12 (COPYRIGHT section)", Linus Torvalds, kernel.org, 1992-01 — https://www.kernel.org/pub/linux/kernel/Historic/old-versions/RELNOTES-0.12