منبع: فصل اول کتاب Free as in Freedom نوشتهٔ سم ویلیامز (Sam Williams)، انتشارات اوریلی (O'Reilly)، ۲۰۰۲. این کتاب با مجوز مستندات آزاد گنو، نسخهٔ ۱.۱ (GNU Free Documentation License 1.1) منتشر شده است. این پست ترجمهٔ فارسی همان فصل، و به این معنا «نسخهٔ تغییریافته»ای از آن است، و با همان مجوز منتشر میشود. حق نشر متن انگلیسی با نویسنده و ناشر است.
خط زمانی تاریخچهٔ نرمافزار آزاد در همین سایت از اعلام پروژهٔ گنو در ۱۹۸۳ شروع میشود و ماجرای چاپگر زیراکس در آن نیست. سم ویلیامز در فصل اول کتابش همان چیزی را تعریف میکند که پیش از آن گذشت: هدیهای که مدام کاغذ گیر میکرد، فایلی که هیچکس نمیتوانست بخواندش، و قول رازداریای که برنامهنویسی را واداشت به همکارش «نه» بگوید.
چاپگر دوباره گیر کرد
فصل با سطری از «انئید» ویرژیل شروع میشود: «از یونانیان میترسم، حتی وقتی هدیه میآورند.» (I fear the Greeks. Even when they bring gifts.)
چاپگر تازه باز هم گیر کرده بود.
ریچارد استالمن (Richard M. Stallman)، برنامهنویس آزمایشگاه هوش مصنوعی مؤسسهٔ فناوری ماساچوست (MIT)، این خرابی را به بدترین شکل فهمید. بیستوهفت ساله بود. یک ساعت پیش فایلی پنجاهصفحهای را برای چاپگر لیزری دفتر فرستاده بود و حالا کارش را، که خوب هم پیش میرفت، نیمهکاره گذاشت تا برگهها را بردارد. وقتی رسید، در سینی چاپگر فقط چهار صفحه بود، و تازه آن چهار صفحه هم مال کس دیگری بود. یعنی کار چاپ او و باقی کار نیمهتمام آن کاربر دیگر، هنوز جایی در لولهکشی الکتریکی شبکهٔ کامپیوترهای آزمایشگاه گیر افتاده بود.
منتظر ماشین ماندن از دردسرهای همیشگی کار برنامهنویسی است، برای همین استالمن زیاد به دل نگرفت. با این حال، منتظر ماشین ماندن با ایستادن بالای سر ماشین فرق بزرگی دارد. اولین بار نبود که مجبور میشد کنار چاپگر بایستد و بیرون آمدن صفحهها را یکییکی تماشا کند. او بیشتر روزها و شبهایش را صرف بهتر کردن کارایی ماشینها و برنامههایی میکرد که آنها را میگرداندند؛ طبیعی بود که دلش بخواهد در دستگاه را باز کند، دل و رودهاش را ببیند و ریشهٔ مشکل را پیدا کند.
افسوس که مهارت برنامهنویسی استالمن به قلمرو مهندسی مکانیک نمیرسید. همانطور که برگههای تازه از دستگاه بیرون میریخت، فرصت کرد به راههای دیگری برای دور زدن مشکل گیر کاغذ فکر کند.
هدیهای که نمیشد رد کرد
استالمن با خودش فکر کرد: چقدر از روزی گذشته بود که کارکنان آزمایشگاه با آغوش باز به استقبال چاپگر تازه رفته بودند؟ دستگاه هدیهٔ شرکت زیراکس (Xerox) بود: نمونهای پیشرو و نسخهٔ تغییریافتهٔ دستگاه فتوکپی پرطرفدار زیراکس. با این تفاوت که بهجای کپی گرفتن، دادههایی را که از راه شبکه به آن میرسید به سندهایی با ظاهر حرفهای تبدیل میکرد. آن را مهندسان مرکز پژوهشی مشهور زیراکس در پالو آلتو ساخته بودند و، به زبان ساده، طعم زودرس انقلاب چاپ رومیزی بود؛ انقلابی که تا پایان همان دهه سراسر صنعت کامپیوتر را فرا میگرفت.
برنامهنویسان آزمایشگاه که غریزهشان آنها را به بازی با بهترین تجهیزات تازه میکشاند، بیدرنگ دستگاه را به زیرساخت پیچیدهٔ کامپیوتری آزمایشگاه وصل کردند. نتیجه همان اول دلگرمکننده بود. دستگاه تازه، برخلاف چاپگر لیزری قدیمی آزمایشگاه، سریع بود: صفحهها با سرعت یکی در ثانیه بیرون میآمدند و کار چاپی بیستدقیقهای به دو دقیقه میرسید. دقیقتر هم بود: دایرهها دایره درمیآمدند، نه بیضی، و خطهای راست واقعاً راست بودند، نه موجهای سینوسی کمدامنه.
از هر نظر، هدیهای بود که نمیشد ردش کرد.
چند هفته بعد از رسیدن دستگاه، عیبهایش کمکم پیدا شد. مهمترینش این بود که ذاتاً مستعد گیر کردن کاغذ بود. برنامهنویسانی که ذهن مهندسی داشتند زود فهمیدند چرا. این دستگاه در اصل فتوکپی بود و فتوکپی معمولاً زیر نظر مستقیم یک نفر کار میکند. مهندسان زیراکس فرض کرده بودند همیشه کسی کنار دستگاه هست تا اگر کاغذ گیر کرد، درستش کند، و وقت و انرژیشان را صرف حل دردسرهای دیگر کرده بودند. به زبان مهندسی، حواسجمعی کاربر جزئی از خود سیستم فرض شده بود.
مهندسان زیراکس با تبدیل دستگاه به چاپگر، رابطهٔ میان کاربر و ماشین را به شکلی ظریف اما عمیق تغییر داده بودند. دستگاه دیگر در خدمت یک نفر نبود؛ در خدمت همهٔ کاربران یک شبکه بود. کاربر بهجای ایستادن کنار دستگاه، از آن سر شبکه فرمان چاپ را میفرستاد؛ فرمانی که مثل سطل آبی که در صف آتشنشانی دستبهدست میشود، از زنجیرهٔ درازی از ماشینها میگذشت. کاربر انتظار داشت محتوایش درست و سالم به مقصد برسد، و فقط وقتی سرانجام سراغ خروجی میرفت، میفهمید چه مقدار کمی از آن رسیده است.
هک قدیمی: به همه بگو کاغذ گیر کرده
استالمن خودش از اولین کسانی بود که مشکل را شناخت و اولین کسی بود که راهحلی پیشنهاد کرد. سالها پیش، وقتی آزمایشگاه هنوز چاپگر قدیمی را داشت، مشکل مشابهی را با باز کردن برنامهای حل کرده بود که روی ماشین PDP-11 آزمایشگاه چاپگر را کنترل میکرد. نمیتوانست جلوی گیر کردن کاغذ را بگیرد، ولی میتوانست دستوری به برنامه اضافه کند که PDP-11 هر چند وقت یک بار وضعیت چاپگر را بررسی کند و به PDP-10، کامپیوتر مرکزی آزمایشگاه، گزارش بدهد. برای اینکه بیدقتی یک نفر کل صف چاپ را معطل نکند، دستور دیگری هم گذاشت تا PDP-10 به همهٔ کسانی که کار چاپی در صف داشتند خبر بدهد که چاپگر گیر کرده است. پیام ساده بود، چیزی شبیه «چاپگر گیر کرده، لطفاً درستش کنید» (The printer is jammed, please fix it). و چون این پیام به دست کسانی میرسید که بیش از همه به رفع مشکل نیاز داشتند، احتمال اینکه مشکل بهموقع حل شود بیشتر بود.
راهحل استالمن غیرمستقیم بود، اما ظریف. بخش مکانیکی مشکل را حل نمیکرد، ولی بهترین کار ممکن بعد از آن را میکرد: حلقهٔ اطلاعرسانی میان کاربر و ماشین را کامل میکرد. به لطف چند خط کد اضافه، کارکنان آزمایشگاه دیگر لازم نبود هر هفته ده پانزده دقیقه را به رفتوآمد برای سر زدن به چاپگر هدر بدهند. به زبان برنامهنویسی، راهحل استالمن از هوش تقویتشدهٔ کل شبکه بهره میبرد.
استالمن منطق کار را اینطور به یاد میآورد: «اگر آن پیام به دستت میرسید، نمیتوانستی فرض کنی کس دیگری درستش میکند. باید خودت سراغ چاپگر میرفتی. یکی دو دقیقه بعد از اینکه چاپگر به دردسر میافتاد، دو سه نفری که پیام گرفته بودند میرسیدند تا درستش کنند، و معمولاً دستکم یکی از آنها بلد بود چطور.»
چنین راهحلهای زیرکانهای امضای آزمایشگاه هوش مصنوعی و برنامهنویسان بومیاش بود. در واقع بهترین برنامهنویسان آنجا از واژهٔ «برنامهنویس» خوششان نمیآمد و عنوان خودمانیتر «هکر» را ترجیح میدادند. این عنوان طیف وسیعی از کارها را در بر میگرفت، از شوخیهای خلاقانه گرفته تا بهتر کردن نرمافزارها و سیستمهای موجود. در دل این عنوان، همان مفهوم قدیمی ابتکار و چارهگری عملی هم نهفته بود. هکر بودن یعنی پذیرفتن این فلسفه که نوشتن یک برنامه تازه آغاز کار است؛ آزمون واقعی مهارت هکر، بهتر کردن برنامه است.
همین فلسفه یکی از دلایل اصلی بود که شرکتهایی مثل زیراکس دستگاهها و برنامههایشان را به جاهایی هدیه میدادند که هکرها در آن جمع میشدند. اگر هکرها نرمافزار را بهتر میکردند، شرکتها میتوانستند این بهبودها را پس بگیرند و در نسخههای تازهٔ تجاری به کار ببرند. به زبان شرکتها، هکرها سرمایهای اجتماعی بودند که میشد از آن بهره برد؛ نوعی واحد تحقیق و توسعهٔ کمکی با کمترین هزینه.
کد منبع کجاست
بهخاطر همین فلسفهٔ داد و ستد بود که وقتی استالمن عیب گیر کاغذ را در چاپگر لیزری زیراکس دید، نگران نشد. فقط دنبال راهی گشت تا راهحل قدیمی، یا همان «هک» قدیمی، را برای سیستم تازه بهروز کند. اما وقتی سراغ نرمافزار چاپگر رفت، به کشف ناخوشایندی رسید: چاپگر هیچ نرمافزاری نداشت؛ دستکم هیچ نرمافزاری که استالمن یا برنامهنویس دیگری بتواند بخواند.
تا آن زمان بیشتر شرکتها، از سر ادب، فایلهای کد منبع را هم منتشر میکردند؛ یعنی فایلهای متنی خوانایی که تکتک فرمانهایی را که به ماشین میگویند چه کند، ثبت میکرد. اما زیراکس این بار فایلها را به شکل از پیش کامپایلشده، یا باینری، تحویل داده بود. برنامهنویسان اگر میخواستند میتوانستند این فایلها را باز کنند، ولی جز برای متخصصان رمزگشایی رشتههای بیپایان صفر و یک، حاصلش یاوهای محض بود.
استالمن چیزهای زیادی دربارهٔ کامپیوتر میدانست، اما متخصص ترجمهٔ فایلهای باینری نبود. ولی هکر بود و منابع دیگری در اختیار داشت. ایدهٔ اشتراک اطلاعات چنان در مرکز فرهنگ هکری جا داشت که استالمن میدانست دیر یا زود هکری در آزمایشگاه دانشگاهی یا اتاق کامپیوتر شرکتی، نسخهای از نرمافزار چاپگر را همراه با فایلهای کد منبع به دیگران عرضه میکند.
بعد از چند گیر کاغذ اول، استالمن با یادآوری ماجرای مشابهی از سالها قبل به خودش دلگرمی داد. آن زمان آزمایشگاه به برنامهای نیاز داشت تا PDP-11 از راه شبکه بهتر با PDP-10 کار کند. هکرهای آزمایشگاه بیشک از پس این کار برمیآمدند، ولی استالمن که فارغالتحصیل هاروارد بود، برنامهٔ مشابهی را به یاد آورد که برنامهنویسان دپارتمان علوم کامپیوتر هاروارد نوشته بودند. آزمایشگاه کامپیوتر هاروارد هم همان مدل کامپیوتر، یعنی PDP-10، را داشت، هرچند با سیستمعاملی دیگر. سیاست آن آزمایشگاه هم این بود که هر برنامهای روی PDP-10 نصب میشود، باید همراه با فایلهای کد منبع منتشرشده باشد.
استالمن از دسترسیاش به آزمایشگاه کامپیوتر هاروارد استفاده کرد: سری به آنجا زد، یک نسخه از کد منبع آن برنامه را برداشت و به آزمایشگاه هوش مصنوعی آورد. بعد کد را بازنویسی کرد تا با سیستمعامل آزمایشگاه سازگارتر شود. به این ترتیب، بیدردسر و بیسروصدا، شکاف بزرگی در زیرساخت نرمافزاری آزمایشگاه پر شد. استالمن حتی چند قابلیت هم به آن افزود که در نسخهٔ اصلی هاروارد نبود و برنامه را مفیدتر کرد. خودش میگوید: «سالها از آن استفاده کردیم.»
از نگاه یک برنامهنویس دههٔ ۱۹۷۰، این داد و ستد معادل نرمافزاری همان بود که همسایهای در خانهٔ همسایهاش را بزند تا یک ابزار برقی یا یک فنجان شکر قرض بگیرد. تنها فرق این بود که استالمن با برداشتن نسخهای از برنامه برای آزمایشگاه هوش مصنوعی، چیزی از دست هکرهای هاروارد نگرفته بود. اگر هم اتفاقی افتاده بود، هکرهای هاروارد سود برده بودند، چون استالمن قابلیتهای تازهای به برنامه اضافه کرده بود که آنها کاملاً آزاد بودند در عوض برش دارند. هرچند هیچکس از هاروارد برای برداشتن برنامه سراغشان نیامد، استالمن به یاد دارد که برنامهنویسی در شرکت مهندسی خصوصی بولت، برانک و نیومن (Bolt, Beranek & Newman) برنامه را برداشت و چند قابلیت دیگر به آن افزود؛ قابلیتهایی که استالمن بعدها به بایگانی کد منبع خود آزمایشگاه برگرداند.
استالمن دربارهٔ زیرساخت نرمافزاری آزمایشگاه میگوید: «برنامه همانطور رشد میکرد که یک شهر رشد میکند. بخشهایی عوض میشدند و از نو ساخته میشدند. چیزهای تازه به آن اضافه میشد. ولی همیشه میتوانستی به بخشی نگاه کنی و بگویی: "خب، از سبکش پیداست که این قسمت اوایل دههٔ شصت نوشته شده و این یکی اواسط دههٔ هفتاد."»
هکرهای آزمایشگاه هوش مصنوعی و جاهای دیگر با همین روش ساده، یعنی انباشت تدریجی ایدهها، ساختههای محکمی پدید آوردند. در ساحل غربی آمریکا، به روایت ویلیامز، دانشمندان کامپیوتر دانشگاه کالیفرنیا در برکلی با همکاری چند مهندس ردهٔ پایین AT&T، با همین روش یک سیستمعامل کامل ساخته بودند. نامش را یونیکس (Unix) گذاشته بودند، بازیای با نام سیستمعامل قدیمیتر و آکادمیکتری به نام مالتیکس (Multics)، و هر برنامهنویسی که هزینهٔ کپی برنامه روی یک نوار مغناطیسی تازه و ارسالش را میپرداخت، میتوانست آن را داشته باشد. همهٔ برنامهنویسانی که در این فرهنگ سهیم بودند خودشان را هکر نمینامیدند، ولی بیشترشان با ریچارد استالمن همدل بودند: اگر برنامه یا اصلاحیهای آنقدر خوب است که مشکل تو را حل کند، مشکل دیگری را هم حل میکند. پس چرا آن را، فقط به نیت خیر و ثواب، با دیگران شریک نشوی؟
اینکه زیراکس حاضر نشده بود فایلهای کد منبعش را در اختیار بگذارد، اول فقط دلخوری کوچکی به نظر میرسید. استالمن میگوید برای پیدا کردن کد منبع حتی به خودش زحمت نداد با زیراکس تماس بگیرد: «چاپگر لیزری را که به ما داده بودند. چرا بیشتر از این مزاحمشان شوم؟»
اسکرایب و بمب ساعتی
اما وقتی خبری از فایلها نشد، استالمن کمکم بدگمان شد. سال قبل، با یکی از دانشجویان دکتری دانشگاه کارنگی ملون (Carnegie Mellon University) درگیریای پیدا کرده بود. این دانشجو، برایان رید (Brian Reid)، نویسندهٔ یک برنامهٔ قالببندی متن کارآمد به نام اسکرایب (Scribe) بود. اسکرایب از نخستین برنامههایی بود که به کاربر امکان میداد هنگام فرستادن سند از راه شبکه، فونتها و سبک حروف را تعیین کند، و به تعبیر ویلیامز، پیشدرآمدی بر HTML، زبان مشترک وب جهانی، بود. رید در ۱۹۷۹ تصمیم گرفت اسکرایب را به یک شرکت نرمافزاری در حوالی پیتسبورگ به نام یونیلاجیک (Unilogic) بفروشد. دوران دانشجوییاش رو به پایان بود و، به گفتهٔ خودش، فقط دنبال این بود که برنامه را به دست توسعهدهندگانی بسپارد که مراقب باشند به مالکیت عمومی نیفتد. برای شیرینتر کردن معامله، پذیرفت مجموعهای از توابع وابسته به زمان در برنامه بگذارد (چیزی که برنامهنویسان «بمب ساعتی» مینامند) تا نسخههایی را که آزادانه کپی شده بودند، پس از نود روز از کار بیندازد. برای جلوگیری از این اتفاق، کاربران باید به شرکت پول میدادند تا کدی بگیرند که بمب ساعتی داخل برنامه را خنثی میکرد.
برای رید این معاملهای دوسربرد بود: اسکرایب به مالکیت عمومی نیفتاد و یونیلاجیک هم سرمایهاش را برگرداند. اما برای استالمن، این خیانتی آشکار به اخلاق برنامهنویسی بود. رید بهجای احترام به اصل «هرچه داریم با هم قسمت کنیم»، راهی گذاشته بود که شرکتها برنامهنویسان را وادار کنند برای دسترسی به اطلاعات پول بدهند.
هفتهها گذشت و تلاش استالمن برای پیدا کردن کد منبع چاپگر لیزری زیراکس به بنبست خورد. او کمکم حس کرد اینجا هم پای همان سناریوی «پول در برابر کد» در میان است. اما پیش از آنکه بتواند کاری بکند یا حرفی بزند، خبر خوبی دهانبهدهان میان برنامهنویسان رسید: گفته میشد دانشمندی در دپارتمان علوم کامپیوتر کارنگی ملون تازه از کارش در مرکز پژوهشی پالو آلتو زیراکس جدا شده است. و طبق شایعه، این دانشمند نهتنها روی همین چاپگر لیزری کار کرده بود، بلکه هنوز هم در کارنگی ملون، بهعنوان بخشی از کار پژوهشیاش، روی آن کار میکرد.
استالمن بدگمانی اولیهاش را کنار گذاشت و مصمم شد در سفر بعدیاش به کارنگی ملون، سراغ این آدم برود.
«نه» در کارنگی ملون
لازم نشد زیاد منتظر بماند. کارنگی ملون هم آزمایشگاهی برای پژوهش در هوش مصنوعی داشت و چند ماه بعد، استالمن به دلیلی کاری راهی آنجا شد. در همین سفر حتماً به دپارتمان علوم کامپیوتر هم سر زد. کارکنان دپارتمان او را به دفتر عضو هیئت علمیای راهنمایی کردند که سرپرست پروژهٔ زیراکس بود. وقتی استالمن به دفتر رسید، استاد را مشغول کار دید.
گفتوگو به رسم گفتوگوی دو مهندس، صمیمی اما رک بود. استالمن پس از معرفی کوتاه خودش بهعنوان مهمانی از MIT، نسخهای از کد منبع چاپگر لیزری را خواست تا بتواند آن را برای PDP-11 پورت کند، یعنی آن را روی آن ماشین راه بیندازد. در کمال تعجب، استاد درخواستش را رد کرد.
استالمن میگوید: «به من گفت قول داده است نسخهای به من ندهد.»
"He told me that he had promised not to give me a copy."
حافظه چیز عجیبی است. بیست سال بعد، نوار تاریخ ذهنی استالمن، چنانکه همه میدانند، جاهایی خالی است. نهتنها دلیل آن سفر یا حتی فصلی را که سفر در آن انجام شد به یاد نمیآورد، بلکه هیچ خاطرهای هم از استاد یا دانشجوی دکتریای که آن طرف گفتوگو بود ندارد. به گفتهٔ رید، محتملترین کسی که درخواست استالمن را جواب داده، رابرت اسپرول (Robert Sproull) است؛ پژوهشگر سابق زیراکس PARC که در زمان نگارش کتاب، مدیر آزمایشگاههای سان (Sun Laboratories)، بخش پژوهشی شرکت سان مایکروسیستمز، بود. اسپرول در دههٔ ۱۹۷۰، در زیراکس PARC، توسعهدهندهٔ اصلی نرمافزار همین چاپگر لیزری بود. حدود سال ۱۹۸۰ سمتی پژوهشی در هیئت علمی کارنگی ملون گرفت و آنجا هم، در کنار پروژههای دیگر، کار روی چاپگر لیزری را ادامه داد.
رید به یاد میآورد: «کدی که استالمن میخواست، پیشرفتهترین کد روز بود که اسپرول در حدود یک سال پیش از آمدن به کارنگی ملون نوشته بود. گمانم کمتر از یک ماه بود که اسپرول به کارنگی ملون آمده بود که این درخواست رسید.»
اما وقتی مستقیم از خود اسپرول دربارهٔ این درخواست پرسیدند، چیزی به یاد نیاورد. در ایمیلی نوشت: «نمیتوانم دربارهٔ واقعیت ماجرا اظهار نظر کنم. مطلقاً هیچ خاطرهای از این اتفاق ندارم.»
وقتی هر دو طرف آن گفتوگوی کوتاه در به یاد آوردن جزئیات اصلی، حتی اینکه اصلاً گفتوگویی رخ داده یا نه، مشکل دارند، سخت است بشود فهمید جواب منفی اسپرول، دستکم آنطور که استالمن به یاد میآورد، چقدر تند بوده است. استالمن در سخنرانیهایش بارها به این ماجرا اشاره کرده و گفته است که امتناع اسپرول از دادن کد منبع، ناشی از یک پیمان عدم افشا بود: قراردادی میان اسپرول و شرکت زیراکس که به اسپرول، یا هر امضاکنندهٔ دیگری، در ازای قول رازداری اجازهٔ دسترسی به کد منبع نرمافزار را میداد. پیمان عدم افشا (NDA) که امروز بخشی عادی از کسبوکار نرمافزار است، آن روزها پدیدهای تازه بود و هم ارزش تجاری چاپگر لیزری برای زیراکس را نشان میداد و هم ارزش اطلاعاتی را که برای راه انداختنش لازم بود. رید میگوید: «زیراکس آن موقع میخواست از چاپگر لیزری یک محصول تجاری بسازد. دیوانگی بود اگر کد منبعش را به کسی میدادند.»
پیمان عدم افشا یعنی قربانی
اما برای استالمن، پیمان عدم افشا معنای دیگری داشت. از نگاه او، این امتناع زیراکس و اسپرول (یا هر کسی که آن روز درخواستش را رد کرد) از مشارکت در نظامی بود که تا آن روز برنامهنویسان را تشویق میکرد برنامهها را منبعی مشترک بدانند. حال استالمن مثل دهقانی بود که جوی آب چندصدسالهاش ناگهان خشک شده، جوی را تا سرچشمه دنبال کرده و آنجا به سدی برقآبی و نوساز با آرم زیراکس رسیده است.
مدتی طول کشید تا استالمن کاملاً درک کند که زیراکس یک همکار برنامهنویس را وادار کرده در این نظام نوظهور رازداری اجباری شریک شود. در آغاز فقط به جنبهٔ شخصی ماجرا فکر میکرد. او که در بیشتر برخوردهای رودررو معذب بود و با دیگران هماهنگ نمیشد، با سر زدن بیخبر به یک همکار برنامهنویس میخواست حسن همسایگیاش را نشان دهد. حالا که درخواستش رد شده بود، حس میکرد اشتباه بزرگی کرده است. خودش به یاد میآورد: «آنقدر عصبانی بودم که نمیدانستم چطور ابرازش کنم. فقط رویم را برگرداندم و بیآنکه کلمهٔ دیگری بگویم، بیرون رفتم. شاید در را هم محکم به هم کوبیدم، کسی چه میداند؟ فقط یادم هست میخواستم هرچه زودتر از آنجا بروم.»
بیست سال بعد، این خشم هنوز با اوست؛ آنقدر که استالمن این رویداد را به نقطهعطفی بزرگ بدل کرده است. در ماههای بعد، رشتهای از رویدادها برای استالمن و جامعهٔ هکرهای آزمایشگاه هوش مصنوعی پیش آمد که سی ثانیه تنش در دفتری دورافتاده در کارنگی ملون را در مقایسه با آنها ناچیز جلوه میداد. با این حال، وقتی پای بازشناسی رویدادهایی به میان میآید که استالمن را از هکری تنها، که غریزتاً به قدرت متمرکز بدگمان بود، به فعالی پرشور بدل کردند که مفاهیم سنتی آزادی، برابری و برادری را به دنیای توسعهٔ نرمافزار میآورد، استالمن ماجرای کارنگی ملون را برجسته میکند.
استالمن میگوید: «این ماجرا مرا تشویق کرد به چیزی فکر کنم که از قبل به آن فکر میکردم. از قبل این ایده را داشتم که نرمافزار باید به اشتراک گذاشته شود، ولی مطمئن نبودم چطور باید به آن فکر کنم. فکرهایم آنقدر روشن و منظم نبودند که بتوانم آنها را کوتاه و فشرده برای بقیهٔ دنیا بیان کنم.»
هرچند رویدادهای پیشین هم خشم استالمن را برانگیخته بودند، به گفتهٔ خودش تا ماجرای کارنگی ملون نفهمیده بود که این رویدادها دارند به فرهنگی دستدرازی میکنند که مدتها آن را مقدس میدانست. او، بهعنوان برنامهنویسی نخبه در یکی از نهادهای نخبهٔ دنیا، تا وقتی سازشها و معاملههای همکارانش در کار خودش اختلال ایجاد نمیکرد، بهراحتی از کنارشان میگذشت. تا پیش از رسیدن چاپگر لیزری زیراکس، استالمن راضی بود که از بالا به ماشینها و برنامههایی نگاه کند که دیگر کاربران کامپیوتر با اکراه تحملشان میکردند. در موارد نادری که چنین برنامهای به درون دیوارهای آزمایشگاه راه پیدا میکرد، مثلاً وقتی آزمایشگاه سیستمعامل قدیمی و محترمش، ITS (Incompatible Time Sharing)، را با نسخهای تجاری به نام TOPS-20 عوض کرد، استالمن و همکاران هکرش آزاد بودند نرمافزار را به سلیقهٔ خودشان بازنویسی کنند، تغییر شکل بدهند و حتی نامش را عوض کنند.
اما حالا که چاپگر لیزری خودش را به درون شبکهٔ آزمایشگاه جا کرده بود، چیزی تغییر کرده بود. دستگاه جز گیر کاغذهای گاهبهگاه، خوب کار میکرد، ولی امکان تغییر دادنش به سلیقهٔ شخصی از میان رفته بود. از نگاه کل صنعت نرمافزار، این چاپگر زنگ بیدارباش بود: نرمافزار چنان دارایی ارزشمندی شده بود که شرکتها دیگر لزومی نمیدیدند کد منبعش را منتشر کنند، بهخصوص وقتی انتشار کد یعنی فرصت دادن به رقیبان بالقوه برای کپی ارزان. اما از نگاه استالمن، چاپگر اسب تروا بود. نرمافزار خصوصی، که هکرهای بعدی اسمش را نرمافزار «انحصاری» (proprietary) گذاشتند، پس از یک دهه ناکامی، با موذیانهترین روش ممکن در آزمایشگاه هوش مصنوعی جای پایی پیدا کرده بود: در لباس هدیه آمده بود.
اینکه زیراکس به بعضی برنامهنویسان در ازای رازداری، دسترسی به هدیههای بیشتری پیشنهاد کرده بود هم آزاردهنده بود؛ اما استالمن با تأکید یادآوری میکند که اگر چنین معاملهای را در سن کمتری پیش رویش گذاشته بودند، شاید پیشنهاد زیراکس را میپذیرفت. ولی ناخوشایندی برخورد کارنگی ملون، سستی اخلاقی خود او را هم به استواری بدل کرد. نهتنها خشمی را که برای نگاه کردن با بدگمانی به همهٔ پیشنهادهای بعدی لازم بود به او داد، بلکه وادارش کرد پرسشی ناخوشایند را از خودش بپرسد: اگر روزی هکری همکار به دفتر استالمن بیاید و ناگهان این وظیفهٔ استالمن باشد که درخواست او برای کد منبع را رد کند، چه؟
استالمن با قاطعیت میگوید:
این اولین برخورد من با یک پیمان عدم افشا بود و بیدرنگ به من یاد داد که پیمانهای عدم افشا قربانی دارند. در این مورد، قربانی من بودم. [آزمایشگاهم و من] قربانی بودیم.
It immediately taught me that nondisclosure agreements have victims. In this case I was the victim. [My lab and I] were victims.
استالمن این درس را در سالهای پرتلاطم دههٔ ۱۹۸۰ با خودش همراه داشت؛ دههای که در آن بسیاری از همکاران MIT او آزمایشگاه هوش مصنوعی را ترک کردند و خودشان پیمانهای عدم افشا امضا کردند. چون بیشتر این پیمانها تاریخ انقضا داشتند، هکرهایی که امضایشان میکردند نیاز چندانی به بازنگری در خودشان حس نمیکردند. با خود میگفتند دیر یا زود نرمافزار در دسترس عموم قرار میگیرد. تا آن موقع هم، قول رازداری در مراحل اولیهٔ توسعه بخشی از معاملهای بود که به هکرها اجازه میداد روی بهترین پروژهها کار کنند. اما برای استالمن، این اولین قدم در سراشیبی لغزندهای بود.
استالمن میگوید: «وقتی کسی از من خواست اینطور به همهٔ همکارانم خیانت کنم، یادم آمد وقتی کس دیگری همین کار را با من و کل آزمایشگاهم کرد، چقدر عصبانی شده بودم. پس گفتم: "خیلی ممنون که این بستهٔ نرمافزاری خوب را به من پیشنهاد میکنید، ولی نمیتوانم با شرایطی که میخواهید قبولش کنم، پس بدون آن سر میکنم."»
استالمن خیلی زود فهمید که رد کردن چنین درخواستهایی چیزی بیش از فداکاری شخصی است. این کار او را از هکرهایی جدا میکرد که با اینکه مثل او از رازداری بیزار بودند، این بیزاری را با انعطاف اخلاقی بیشتری ابراز میکردند. چیزی نگذشت که استالمن، که حتی در خود آزمایشگاه هوش مصنوعی هم روزبهروز تنهاتر و منزویتر میشد، خودش را «آخرین هکر واقعی» نامید و بیش از پیش از بازاری که نرمافزار انحصاری بر آن چیره بود فاصله گرفت. به این نتیجه رسید که رد کردن درخواست دیگری برای کد منبع، نهتنها خیانت به رسالت علمیای است که از پایان جنگ جهانی دوم توسعهٔ نرمافزار را پرورش داده بود، بلکه نقض «قاعدهٔ زرین» است؛ همان اصل بنیادین اخلاقی که میگوید با دیگران همانطور رفتار کن که دوست داری با تو رفتار کنند.
اهمیت چاپگر لیزری و برخوردی که از آن ناشی شد از همینجاست. به گفتهٔ استالمن، بدون آن شاید زندگیاش راه معمولیتری میرفت: زندگیای میان ثروت یک برنامهنویس تجاری و سرخوردگی نهایی عمری که صرف نوشتن کدهای نامرئی میشود. نه آن روشنی در کار بود، نه آن احساس فوریت برای پرداختن به مشکلی که دیگران به آن نمیپرداختند. و مهمتر از همه، از آن خشم بهحق خبری نبود؛ احساسی که به نوشتهٔ ویلیامز، به همان اندازهٔ هر ایدئولوژی سیاسی یا باور اخلاقی، مسیر کاری استالمن را به پیش رانده است.
از آن روز به بعد تصمیم گرفتم که این کاری است که هرگز در آن شریک نمیشوم. تصمیم گرفتم هرگز دیگران را قربانی نکنم، همانطور که خودم قربانی شده بودم.
From that day forward, I decided this was something I could never participate in. I decided never to make other people victims just like I had been a victim.
منظور استالمن از «این»، معاملهٔ آزادی شخصی در برابر راحتی است (توصیفی که خودش از معاملهٔ پیمان عدم افشا دارد) و نیز کل فرهنگی که چنین معاملههای اخلاقاً مشکوکی را از اساس تشویق میکرد.
بهطور خلاصه، در روایت ویلیامز، چاپگر زیراکس سریع و دقیق بود اما مدام کاغذ گیر میکرد. راهحل قدیمی استالمن به کد منبع خوانا نیاز داشت، و زیراکس این کد را نداده بود. در کارنگی ملون هم شنید که طرف مقابلش قول داده کد را به او ندهد. همین «نه» پیمان عدم افشا را برای استالمن از یک برگهٔ قرارداد به چیزی با قربانیانی واقعی تبدیل کرد. خط زمانی سایت از اعلام پروژهٔ گنو آغاز میشود؛ این فصل، داستان لحظههایی است که پیش از آن گذشت.
منبع: سم ویلیامز، فصل «For Want of a Printer» در کتاب Free as in Freedom. مجوز: GNU FDL 1.1. تاریخچهٔ این نسخه: ۲۰۰۲، متن انگلیسی، انتشارات اوریلی؛ ۲۰۲۶، ترجمهٔ فارسی فصل اول، شیرازلینوکس.
نظرات آزاد
سیستم نظر آزاد و شفاف روی همین سایت است — بدون Disqus و بدون رهگیری شخص ثالث. نام کافی است؛ ایمیل اختیاری و منتشر نمیشود.