Y@SiN
08-13-2009, 03:46 PM
آزادی در قلمرو نرمافزار - گفتوگو با ریچارد استالمن
شگفتا كه رایانهها از ۲۰ سال پیش تاكنون چگونه متحول شدهاند و چگونه متحول كردهاند. حالا هر روز هزاران نفر به خیل كاربران این جعبه جادویی دوم اضافه میشوند و هر لحظه كه میگذرد، مفهومی، شاخهای یا رشتهای جدید به این دنیا پیوند میخورد. افزایش این شاخ و برگ اما هرگز باعث نشده كه این درخت، پیر و كهنسال جلوه كند، كه برعكس، گویی هر روز جذابتر و با شكوهتر مینماید. حاصل این «پیوند»ها ثمراتی جدیدند و گلهایی جدید و خارهایی كه باید آنها را جست و عمیقانهتر نگاهشان كرد.
شگفتا كه رایانهها از ۲۰ سال پیش تاكنون چگونه متحول شدهاند و چگونه متحول كردهاند. حالا هر روز هزاران نفر به خیل كاربران این جعبه جادویی دوم اضافه میشوند و هر لحظه كه میگذرد، مفهومی، شاخهای یا رشتهای جدید به این دنیا پیوند میخورد. افزایش این شاخ و برگ اما هرگز باعث نشده كه این درخت، پیر و كهنسال جلوه كند، كه برعكس، گویی هر روز جذابتر و با شكوهتر مینماید. حاصل این «پیوند»ها ثمراتی جدیدند و گلهایی جدید و خارهایی كه باید آنها را جست و عمیقانهتر نگاهشان كرد. از ۲۰ سال پیش تاكنون مردی تلاش میكند تا از آزادی نرمافزار پاسداری كند. این مرد ریچارد.م.استالمن نام دارد كه اختصاراً به RMS مشهور شده است. (خود او در نخستین ویرایش لغتنامه هكرها مینویسد. «ریچارد استالمن نام دنیوی من است، میتوانید مرا rms صدا كنید.») استالمن بیست سال پیش بنیاد نرمافزار آزاد را تأسیس كرد و علیرغم تحولات جنبش نرمافزار آزاد طی دو دههای كه از عمر آن میگذرد، او همچنان بر مواضع خود پافشاری میكند و قاطعانه به تبلیغ و ترویج مبانی آزادی نرمافزار میپردازد. چنانچه در طول گفتوگویی كه ترجمه آن را پیشرو دارید باز هم به مصاحبهكننده (كه خود یكی از مروجین سیستمهای مبتنی بر BSD در ایتالیا است) یادآوری میكند كه نباید مفاهیم مختلف آزادی را با یكدیگر اشتباه گرفت. اشتباهی كه از تعدد معانی Free نشأت میگیرد. استالمن هماكنون برای تبلیغ نرمافزار آزاد به كشورهای مختلف سفر میكند و به عنوان نمونه اخیراً به سوریه سفری داشته است. این مصاحبه به چند لحاظ حائز اهمیت است. استالمن در خلال گفتهها، بار دیگر به تبیین تفاوتهای نرمافزار آزاد و نرمافزار منبعباز میپردازد و بهطور نسبی تصویر روشنتری را از صفبندیهای موجود و عمق پیچیدگیهای موضوع نمایان میسازد. نگاهی دوباره به نقش مجوزهای گنو (GNU) در بقای آزادی نرمافزار (Copy left) و مقایسه آنها با مجوزهای BSD حاوی نكات مهم و ارزشمندی است. موارد مذكور اگر چه به تفصیل و به كرات در پایگاه وب gnu.org و منابع دیگر یافت میشوند اما بررسی مختصر و یكباره آنها در كنار دیدگاههای استالمن در مورد جدیدترین وقایع مرتبط با جوامع آزاد و منبعباز در نوع خود جالب و خواندنی است. همچنین در شمارههای ۳۳، ۳۵ و ۳۷ در مقالاتی تحت عنوان جنبش اپنسورس و در شماره ۳۹ ماهنامه شبكه نیز به نقش تاریخی استالمن پرداخته شده است.
• شاید گنو لینوكس (كل سیستمعامل) معروفترین پروژه نرمافزار آزاد باشد، نظر شما در مورد این واقعیت كه لینوكس (هسته) برای مدیریت كدهای سنجش از یك برنامه اختصاصی (متملكانه)(۱) استفاده میكند چیست؟
o نرمافزار آزاد توسط كاربر كنترل میشود. هنگامی كه یك نسخه از آن را تهیه كنید مالك آن هستید. اگر یك خانه بخرید از جابهجایی خلاص میشوید. اگر نمیدانید چگونه میتوانید آن را تغییر دهید میتوانید یك نجار یا لولهكش استخدام كنید تا تغییرات را برای شما انجام دهند. در مورد نرمافزار هم چنین است. هر كاربر میتواند از مزایای آزادی برای تغییر نرمافزار نفع ببرد. اگر نرمافزار آزاد باشد میتوانید پسرعموی برنامهنویس خود را وادار كنید تا آن را برای شما تغییر دهد. یا كسی را برای اینكار استخدام كنید.نرمافزار غیرآزاد توسط توسعهدهنده آن كنترل میشود. توسعهدهندگان غالباً ویژگیهای بداندیشانهای را اضافه میكنند. مثلاً برای جاسوسی یا محدود كردن كاربر. گاهی اوقات آنها ویژگیهای بداندیشانه را مخفی نگهمیدارند. در عین حال آنها تصور میكنند كه مردم آنقدر به این نرمافزار وابسته هستند كه آن را حتی با ویژگیهای بداندیشانه هم میپذیرند. كاربران نمیتوانند این ویژگیها را حذف كنند چون كدمنبع را ندارند. با نرمافزار آزاد چنین چیزی اتفاق نمیافتد. چون نرمافزار آزاد توسط كاربر كنترل میشود. حتی اگر یك برنامه آزاد یك ویژگی بداندیشانه داشته باشد، هر برنامهنویس میتواند آن را حذف و نسخه اصلاح شده را منتشر كند و همه كاربران از جمله كسانی كه برنامهنویس نیستند از آن نسخه استفاده خواهند كرد. مجبور نیستید كه این تغییرات را خودتان انجام دهید. چون شخص دیگری این كار را قبل از اینكه آن را تهیه كنید انجام داده است. كاربران نرمافزار آزاد همچنین تصمیم میگیرند كه آن را چگونه توسعه دهند. در بسیاری موارد خواسته بسیاری از كاربران یكسان است. دیر یا زود كاربرانی كه با برنامهنویسی آشنا هستند یا كسانی كه میتوانند برای تغییرات پول بپردازند، تغییر موردنظر شما را انجام میدهند.
• فكر نمیكنید مشكل این باشد كه چه كسی و به چه منظوری توسعه آن را كنترل میكند؟
o مشكل نرمافزار اختصاصی این است كه یك توسعهدهنده خاص توسعه آن را كنترل میكند نه شمای كاربر. هر برنامه غیرآزاد یك ارباب و رییس دارد و اگر از این برنامه استفاده كنید او رییس شما میشود. روِسای متفاوت نیات متفاوتی هم دارند. بعضی بهتر از بقیه هستند. اما مقایسه یك رییس با رییس دیگر باعث دور شدن از مشكل اصلی میگردد كه همان آزادی است. آزادی به معنی نداشتن رییس است. با نرمافزار آزاد مجبور نیستید نگران باشید كه هدف رییس برای توسعه برنامه چیست چون شما آزادید كه برای خودتان تصمیم بگیرید.
• نظر شما در مورد این خبر كه سان یك پروژه منبع باز در مورد سیستمعاملش، یعنی سولاریس ۱۰، ایجاد خواهد كرد چیست؟
o متوجه نمیشوم كه این دقیقاً چه معنایی دارد. من مدافع منبعباز نیستم. اگر سان سیستمعامل سولاریس را به یك نرمافزار آزاد تبدیل كند پس به آزادی كاربر احترام خواهد گذاشت. این كار خوبی است. ساختن سولاریس آزاد میتواند یك كمك و همكاری اساسی و مهم برای جامعه نرمافزار آزاد باشد. اما از آنجا كه ما پیش از این نرمافزاری داشتهایم (گنو لینوكس) كه كم یا بیش مشابه آن است، این همكاری به اندازه اپنآفیس یا آزاد كردن جاوا اهمیت نخواهد داشت.
• آیا در فكر توسعه چیزی به صورت یك انشعاب یا شاید جایگزینی Hurd به جای كرنل آن هستید؟
o منظور این سؤال را نمیفهمم. انشعاب برای چه؟ جایگزینی Hurd با هسته چه چیزی؟
• من در مورد جایگزین كردن كرنل سولاریس ۱۰ به جای هسته Hurd صحبت میكنم (البته در صورتی كه آزاد باشد) o این كار قابل انجام است اما هدفی برای اینكار نمیبینم. هستهای آزاد به نام لینوكس از قبل وجود داشته كه با سیستم گنو كاملاً خوب كار میكند. چرا ما باید آن را با هسته سولاریس جایگزین كنیم؟
• به همان دلیلی كه گنو،Hurd را توسعه داد.
o هنگامی كه ما توسعهHurd را شروع كردیم هسته آزادی وجود نداشت. انگیزه ما فراهم كردن یك كرنل آزاد بود. از آنجا كه اكنون هستهای آزاد و در حال كار به نام لینوكس داریم توسعهHurd بیش از این ضرورتی ندارد. ما به دو دلیل اینكار را دنبال میكنیم. یك آنكهHurd طراحی قویتری دارد و دارای برتریهایی میباشد. دوم آنكهHurd یك هسته گنو خواهد بود برای پروژه گنو. یعنی هیچ یك از این مزایا با استفاده از سولاریس بهدست نمیآید.
• وضعیت توسعهHurd چگونه است؟
o Hurd اجرا میشود اما نه بهطور قابل اعتماد. توسعه دهندگان به آهستگی سرگرم كار برروی آن هستند. اگر چه یكی از آنها بخشی از وقت خود را صرف یافتن منابع مالی كرده است.
توسعهدهندگان به این نتیجه رسیدهاند كهMach به عنوان یكMicrokernel غیرقابل اعتماد است و به جای آن لازم است Hurd را به۴ L انتقال دهند كه این امر مستلزم بازنویسیهای اساسی است.
• چه نوع رقابتی بین GNU/Hurd تكمیل شده وGNU/Linux وجود خواهد داشت؟
o هم GNU/Hurd ، زمانی كه بهطور قابل اعتماد اجرا شود و هم GNU/Linux ، هر دو سیستمهای عامل آزاد خواهند بود. (مشروط براینكه كسی به آنها بستههای غیرآزاد اضافه نكند) بنابراین انتخاب میان آنها انتخابی كاملاً كاربردی خواهد بود. من امیدوارمHurd بهواسطه معماریش تواناییهای بیشتری ارایه كند.
• من برای روشن شدن موضوع، جملاتی را نقل میكنم:
- نقل ازHurd و لینوكس (در پایگاهgnu.org)
«هنگامی كه در سال ۱۹۹۰ توسعهHurd را شروع كردیم پرسش پیش روی ما این بود كه چگونه میتوانیم هسته آزاد برای سیستم GNU تهیه كنیم. آن زمان هسته آزاد یونیكس مانندی وجود نداشت و ما میدانستیم كه هیچكس قصد نوشتن آن را ندارد. تنها راه برای داشتن یك كرنل رایگان آن بود كه خودمان آن را بنویسیم، بنابراین دست به كار شدیم».
- نقل از لینوكس و پروژه گنو (پایگاهgnu.org )
«به غیر از گنو پروژه دیگری بهطور مستقل یك سیستمعامل یونیكسی ساخته بود. این سیستم كه اكنون بهBSD مشهور است در دانشگاه بركلی توسعه یافته بودBSD . در دهه هشتاد غیرآزاد بود اما در اوایل دهه نود به صورت آزاد عرضه شد.»
- نقل از «منبع باز: نداهایی از انقلاب منبعباز»:
«كدهای شبكهسازیBSD و یوتیلیتیهای پشتیبان تحتنام ۱Networking Releas و به عنوان اولین كدهای آزاد قابل بازتوزیع بركلی در ژوئن ۱۹۸۹ عرضه شدند. ضوابط اعطای مجوز، آزادانه بود. دارنده مجوز میتوانست كدهای اصلاح شده یا نشده را به شكل اولیه یا دودویی و بدون حق اختراع یا پرداخت پول به بركلی، عرضه كند. تنها شرط لازم این بود كه اعلامیههای كپیرایت موجود در فایل منبع دستنخورده باقی مانده و در مستندات محصولاتی كه در آنها از این كدها استفاده شده اشاره گردد، كه این محصول حاوی كدهای دانشگاه كالیفرنیا و شركایش میباشد. علیرغم اینكه بركلی برای هر نوار هزار دلار پول میگرفت، هر كس مختار بود یك كپی از آن را از كسی كه قبلاً آن را دریافت كرده بگیرد. در واقع مدت كوتاهی بعد از ارایه آن، پایگاههای بزرگ زیادی آن را به عنوانftp های بینام عرضه كردند. علیرغم این دسترسی آسان،CSRS از اینكه صدها سازمان كپیهایی از آن را خریداری كرده بودند خوشحال بود چرا كه درآمدها صرف توسعه بیشتر میشد.» ضمن خواندن این صفحات به چیزی برخوردم كه متوجه آن نمیشوم: اگرBSD از ژوئن ۱۹۸۹ با یك مجوز آزاد موجود بوده است چرا به جای نوشتن Hurd با هسته آنها شروع نكردید؟ همین سؤال در مورد هسته لینوكس در سال ۱۹۹۱ هم صدق میكند.
o فقط بخشهایی ازBSD در ژوئن ۱۹۸۹ با یك مجوز آزاد در دسترس بودند. با دقت ببینید اینجا چه گفته است: «كدهای شبكهسازیBSD و یوتیلیتیهای پشتیبان تحت عنوان ۱ Networking Releas در ژوئن ۱۹۸۹ عرضه شدند.» و «كدهای شبكهسازی» BSD فقط بخشی از یك هسته است.
• این بخشها از چه نوع مجوز آزادی استفاده میكردند؟
o فكر میكنم مجوز اصلیِBSD بود، مشابه ۴ .۴ BSD به بعد اما مطمئن نیستم.
• این مجوزBSD به اندازه كافی آزاد نبود؟
o این مجوز واجد شرایط نرمافزار آزاد هست. اما به نظر من به خوبیِ بعضی از مجوزهای نرمافزار آزاد نیست. چون از آزادی همه كاربران حفاظت نمیكند. این به واسطهها اجازه میدهد تا نرمافزارها را اختصاصی كنند كه این به معنی توزیع نرمافزار در میان دیگران اما بدون آزادی است.
• چرا نوشتن یك مجوز جدید(GPL) را ترجیح دادید؟
o من در اینجا یك سردرگمی میبینم. تصمیم من برای توسعه مجوزهای گنو هیچ ارتباطی به مجوزهایBSD نداشته است. مجوزهای BSD بعد از مجوز GNU GPL مورد استفاده قرار گرفتند. در سال ۱۹۸۵ یا ۱۹۸۶ من با افرادی ازCSRG بركلی ملاقات كردم و از آنها درخواست كردم كه كارشان را از كد یونیكسATِT جدا كنند. من از آنها خواستم كه كدشان را به جای دسترسی فقط از طریق مجوزهای ATِT به عنوان نرمافزار آزاد عرضه كنند. این كار را كردم چون میخواستم از كدهایBSD در گنو استفاده كنم.
• میدانم كه شما پایهگذار جنبش نرمافزار آزاد هستید، با این حال نمیفهمم كه شما چگونه محدودیتهای تحمیل شده توسط GPL را آزادی معنی میكنید. مثلاً شما باید كد اصلاحشده منبع را برای نرمافزاری كه به صورت عمومی عرضه میشود ارایه دهید و اینكه باید تحت همان GPL باشد. از نظر من مجوز BSD به كاربران، توسعهدهندگان و مشاغل آزادی بیشتری میدهد. اینطور نیست؟
o این همان چیزی است كه تضمین میكند كاربران از چهار آزادی برخوردار هستند. مجوزهایBSD چنین تضمینی ارایه نمیدهند و بنابراین همه كاربران چنین آزادیهایی را ندارند. مجوزهایBSD آزادی بیشتری اعطا نمیكنند. آنچه فراهم میكنند، برای آنها كه میتوانند از آن سود ببرند، قدرت است، قدرت نفی آزادی دیگران بهتر است. (برای خواندن توضیحات بیشتر میتوانید به این صفحه مراجعه كنید: www.gnu.org/philosophy/freedom-or-power.html (http://www.gnu.org/philosophy/freedom-or-power.html))
• نخستین نسخه GPL در فوریه ۱۹۸۹ آمد. نسخه دوم آن در ژوئن ۱۹۹۱ ارایه شد. دلیل آن چه بود؟
o به خاطر ندارم كه چه تغییر خاصی صورت گرفت اما شما میتوانید این دو را ببینید و مقایسه كنید. ما هر تغییری را به دلیل خاصی انجام دادیم. این مانند عرضه نسخه ۲/۱ یك برنامه است، شما باگهایی یافتهاید و آنها را اصلاح میكنید.
• آیا نسخه سوم هم در راه است؟
o ما سرگرم كار برروی یك نسخه جدید هستیم اما جاهایی وجود دارد كه نمیدانیم انجام دادن چه كاری درست است.
• چرا GPL اینقدر طولانی و قانونمأبانه است؟
GPL یك سند قانونی است، بنابراین به زبان قانون نوشته شده است در غیراینصورت این سند بهدرد نمیخورد. این سند شامل آسانترین لغاتی است كه میتوانستم پیدا كنم تا این شرایط را بهطور واضح و غیرمبهم بیان كنم.
• در هفتم اكتبر ۲۰۰۴ جف.و.مركی پیشنهاد زیر را در فهرست پستی Linux.kernel ارایه داد: «ما مبلغ پنجاه هزار دلار آمریكا را برای یك بار مجوز Linux Kernel Source برای یك Snapshot واحد از یك نسخه واحد لینوكس برمبنای شماره عرضه به Kernel.org پیشنهاد كردیم. این پیشنهاد باید توسط «همه» دارندگان حق طبع پذیرفته شود و این نگارش متعاقباً از مجوز GPL به مجوزی از نوع BSD برای این كد تبدیل خواهد شد. به بیان دیگر استفاده از نسخههای۲ .x غیرآزاد بوده و همچنین استفاده از آن بدون انجام تغییرات مجاز میباشد. لازم به توضیح است كه مبلغ فوق به Kernel.org پرداخت میشود و بایستی توسط “همه” مورد پذیرش واقع شود.» نظر شما در مورد این پیشنهاد چیست؟
o احمقانه بود كه مردم آن را بپذیرند. چرا باید به او اجازه داد لینوكس را در اختیار كاربران قرار دهد بدون آنكه به آزادی آنها احترام بگذارد. اگر من در لینوكس مشاركت داشتم به آنها نه میگفتم و برای اینكه باید به آزادی كاربران احترام گذاشت پافشاری میكردم. من هیچ بخشی از لینوكس را ننوشتهام اما این همان چیزی است كه من هنگام توسعه یك برنامه به آن توجه میكنم.
دو سمبل کپیرایت و کپیلفت در کنار هم
دو سمبل کپیرایت و کپیلفت در کنار هم
• تعدادی از توسعهدهندگان این پیشنهاد را فوراً رد كردند. بنابراین به نظر میرسد كه آنها برای دیدن نگارشی از لینوكس مبتنی بر مجوز BSD شانسی ندارند.
o چه بهتر!
• به هر حال شك دارم كه این وضعیت در آینده تغییر كند. با اینهمه، لینوكس برای مدیریت كد منبعش از یك نرمافزار اختصاصی استفاده میكند. این واقعاً الگوی بدی برای جنبش نرمافزار آزاد است. یعنی اعطای آزادی در ازای پول. آیا برای اطمینان از اینكه این امر هرگز اتفاق نیفتد برنامهای دارید؟
o نمیتوانم پیشگویی كنم. اما حدس میزنم كسانی كه پاسخ منفی دادند را‡ی خود را حفظ كنند. لینوس با استفاده از یك نرمافزار غیرآزاد در این راه حساس و عمومی، الگوی بدی را در جامعه جا انداخته است. هنگامی كه او این كار را كرد، من در لیستLinux.Kernel از او انتقاد كردم و فكر میكنم با مطرح كردن این موضوع به منصرف شدن پروژههای دیگر از انجام چنین كاری كمك كردهام. به این ترتیب تأثیرات زیانآور این قضیه كاهش یافته است. بنیاد نرمافزار آزاد نمیتواند بیش از این كاری در مورد لینوكس انجام دهد چرا كه ما در توسعه این برنامه خاص نقشی نداریم.
• لینوكس امروز فقط یك هسته است. بنابراین شما هنوز مستقیماً روی دیگر بخشهای این سستمعامل نظارت دارید. دلیل اینكه نام كامل سیستمعامل گنو لینوكس میباشد هم همین است.
o این دلیل نامگذاری گنو - لینوكس نیست و ارتباطی به آن ندارد. نام گنو لینوكس به این معنی است كه این لیست با عنوان گنو آغاز و لینوكس به آن اضافه شده است. این روزها سیستم شامل هزاران بستهای است كه توسط هزاران توسعهدهنده تولید میشوند. اما پایه و اساس هنوز گنو است و لینوكس به آن اضافه شده است.
• بابت این توضیح ممنونم. فكر میكنم تنها كسی نبودم كه این تصور غلط را داشته است چون صفحه خانگی پروژه دبیان (www.Debian.org (http://www.debian.org/)) میگوید: «دبیان از هسته لینوكس استفاده میكند (هسته یك سیستمعامل) اما اغلب ابزارهای پایهای سیستمعامل برگرفته از پروژه گنو میباشند، از همین رواست كه گنولینوكس نام دارد» آیا در مورد اینكه روزی لینوس توروالدز تصمیم بگیرد رهبری یكی از توزیعهای لینوكس را بهدست گیرد فكر كردهاید؟
o خیر چون او همیشه گفته است كه علاقهای به این كار ندارد. اگر میخواهد چنین كاری كند البته كه استحقاق آن را دارد. هر كسی میتواند این كار را انجام دهد.
• امروزه «لینوكس» واژه جادویی IT است و سردرگمیهای فراوانی در مورد بروز معانی نرمافزار آزاد منبعباز و یا لینوكس و گنولینوكس وجود دارد. از اینكه گنو و بنیاد نرمافزار آزاد مقبولیت و نفوذ خود را از دست بدهد نمیترسید؟
o به كار بردن واژه ترس نسبتاً سخت است. احساس من نگرانی در مورد بروز یك مشكل واقعی است. پروژه گنو زمانی اعتبار خود را از دست میدهد كه مردم كارهای بسیار مهم گذشته ما را به دیگری نسبت بدهند و این اثربخشی كارهای امروزی ما را كاهش میدهد. دهها میلیون نفر اكنون از سیستمعاملی استفاده میكنند كه به خاطر یك مبارزه همیشگی برای آزادی - چیزی بیهمتا در دنیای رایانش - توسعه یافته است و آنها این را نمیدانند. نام لینوكس هرگز با آزادی به عنوان هدف پیوند نخورده است، این مقصود با نام گنو گره خورده است. وقتی مردم میپندارند كه سیستم لینوكس است، از چرایی توسعه آن تصور غلطی خواهند داشت. آنها فكر میكنند لینوس توروالدز آن را برای تمرین و سرگرمی بهوجود آورده است. لذت و آزادی هر دو میتوانند مردم را برای توسعه نرمافزار آزاد تهییج كنند. اگر مردم این موضوع را بدانند این محركها میتوانند برای آنها الهامبخش باشند. من از كاربران گنولینوكس میخواهم كه بدانند دلیل موجودیت این سیستم آزادی است. آن وقت است كه گروهی از آنها برای دفاع از آزادیمان به ما ملحق خواهند شد. در دنیا هرگز به اندازه كافی برای آزادی مدافع وجود ندارد.
• همانطور كه گفتید: «در دنیا هرگز به اندازه كافی برای آزادی مدافع وجود ندارد.» اما Distrovatch.com بیش از ۳۵۰ توزیع گنو لینوكس را برشمرده است. به نظر شما این به نوعی پراكندگی منابع نیست؟
o طبیعتاً مقداری اتلاف وجود دارد. اما نه به اندازهای كه فكر میكنید. بسیاری و شاید اغلب این توزیعها مشتقانی از توزیعهای دیگر هستند و حفظ یك توزیع اشتقاقی كار چندانی ندارد.
• شما داروینِ اپل را چگونه معنا میكنید؟ هم اختصاصی و هم منبعباز؟
o داروین اكنون نرمافزار آزاد است نه اختصاصی (منبع باز هم هست) گر چه دو سال پیش بخشهایی از كد داروین مجوز متفاوتی داشت كه منبعباز بود، اما نرمافزار آزاد محسوب نمیشد.
• من از چند سال پیش بازار سیستمهای عامل را زیر نظر دارم. به نظر من با هر عرضه Mac OSX اضافه شدن نوآوریها تداوم یافته و تجربه كاربران آن بهبود مییابد. اما چنین بهبودهایی را در هیچ یك از توزیعهای تجاری گنولینوكسRedHat) ،Mandrake ،Novell/suse و ...) نمیبینیم. چنین به نظر میرسد كه این شركتهای بزرگ یك محصول كامل را به سادگی با در كنار هم قرار دادن نتیجه و دستاورد پروژههای خارجی گوناگون تولید میكنند. آنها لینوكس (هسته)،GCC ، یوتیلیتیهای دیگر گنو،XFree/X.org ،KDE/Gnome و غیره را دربردارند. پس نوآوری برای كاربر كجاست؟
o بخش آخر پرسش شما این تصور را القا میكند كه نوآوری همان چیزی است كه ما میخواهیم و آزادی مسأله ثانویه است. از نظر من این درست عكس قضیه است. آزادی مهمترین چیز است و نوآوری تا جایی كه آزادیمان را حفظ كند خوب است. هرگز از خودم نپرسیدهام كه ممكن است نرمافزار آزاد به معنای نوآوری بیشتر باشد یا نباشد چون خواسته من آزادی است. نرمافزار آزاد نرمافزاری است كه به آزادی ما احترام میگذارد. نرمافزار اختصاصی (متملكانه) منكر آزادی كاربر است. در صورتی كه نرمافزار اختصاصی نوآورانه باشد باز هم از آن استفاده نخواهم كرد. من بیست سال برای آزادی خودم و شما جنگیدهام و به خاطر رسیدن به راحتی، از آن دست برنخواهم داشت. نوآوری تا جایی پسندیده است كه به آزادی مردم احترام میگذارد اما هنگامی كه طعمهای است تا مردم آزادیشان را فدا كنند، ناپسند است.
• من در مورد شركتهای تجاری صحبت میكنم كه با عرضه نرمافزارهای آزاد از آزادی حمایت كردهاند. بنابراین آزادی از قبل وجود داشته است. آنها میتوانند نوآور باشند یا نباشند. این فقط جنبه تجاری دارد. آنها ترجیح دادند پولها را صرف آگهیهای بزرگ تبلیغاتی كنند. تنها تردید آنها این بود كهGPL ممكن است مانع نوآوری شود.GPL مانع اصلاحات غیرآزاد است GPL .تنها ممكن است مانع «نوآوری»هایی شود كه غیرآزاد هستند، آیا اشكالی در آن میبینید؟ من نمیبینم. اگر برنامهای غیرآزاد باشد تهاجمی به همبستگی اجتماعی محسوب میشود. خوشحال خواهم شد اگر بتوانم از توسعه چنین نرمافزاری جلوگیری كنم.
• جایی خواندهام كه مایكروسافت ادعا كردهGPL نوآوری در كسب و كار را نابود میكند.
GPL برای حراست از آزادی نرمافزار آزاد ایجاد شده است. این مجوز میگوید كه نسخههای اصلاح شده نرمافزار هم باید آزاد باشند. این همان چیزی است كه مایكروسافت نمیپسندد. مایكروسافت فكر میكند حق دارد از كار ما در محصولاتش استفاده كند، حتی هنگامی كه این محصولات اختصاصی هستند. مایكروسافت به ما اجازه نمیدهد از كدهای منبعش در برنامههای خود استفاده كنیم اما فكرمیكند كه ما باید به آنها اجازه دهیم تا از كدهای منبع ما در برنامههایشان استفاده كنند. مایكروسافت میگوید: «مال من مال خودم است و مال تو هم مال من است». اما آیا حمایت ما از آزادی كاربران از نوآوری خاصی جلوگیری خواهد كرد؟ شاید. زمانی كه یك نوآوری به قیمت سلب آزادی ما تمام شود، GPL میگوید نه! آیا این چیز بدی است؟ این به ارزشهای شما بستگی دارد. اگر تماماً برای نوآوری ارزش قائلید و برای آزادی بهایی قائل نیستند آنگاه حمایت قاطعانهGPL از آزادی كاربران را چیز بدی میپنداریم. از سوی دیگر اگر برای آزادی ارزش قائل باشید، خوشحال خواهید شد كه GPL سد راه توسعهدهندگان بیقیدی است كه از نوآوریهای وسوسهانگیز به عنوان طعمه برای كاربران استفاده میكنند تا از آزادیشان دست بكشند. از آنجا كه مصمم هستم آزادیم را حفظ كنم از نرمافزار غیرآزاد استفاده نخواهم كرد. پس اگر نوآوریهای شما نرمافزار غیرآزاد میباشد، لطفاً آنها را ننویسید. لطفاً كار دیگری انجام دهید. كاری كه نفیكننده آزادی كاربران نباشد.
• استیو بالمر، مدیر اجرایی مایكروسافت، گفته است: «از حدود سه سال پیش ما امنیت نرمافزاری را در اولویت قرار دادهایم.» آیا امنیت نرمافزار برای گنو نیز در اولویت است؟
o من چنین نظری ندارم اما تلاش میكنیم آنرا ایمن سازیم.
• چراGCC هنوز دارای هیچ فناوری حفاظتی حافظهای نیست؟
o من از توسعهدهندگانGCC خواهم خواست تا نگاهی به این روشها داشته باشند و من را در مورد امكان نصب یك یا چند تا از آنها درGCC مطلع سازند.
• آیا پروژه گنو استانداردهایی چون IEEE و استانداردهای بالفعل را پذیرفته و به رسمیت میشناسد؟
o ما از همه استانداردها تا زمانی كه برای كاربران مفید باشد تبعیت میكنیم. با این حال ما آنها را نه به عنوان اجبار بلكه صرفاً پیشنهاد تلقی میكنیم. اما اگر رها كردن یك استاندارد برای كاربران راحتتر باشد، این كار را میكنیم. به عنوان مثال، C استاندارد، كامپایلر را ملزم میكند كه ورودیهایی كه با قواعد Syntax (نحوی) سازگاری ندارند را گزارش كندGCC . اما گونههایی از C را دارد كه اجازه میدهد از اعلام این ناهماهنگیها صرفنظر كنید و این یعنی تداخل با استاندارد. من برای حل این مسأله تابعی به نام-ansi را قرار دادهام تا اعلام گزارشهای خطا را غیرفعال كند. ضمن آنكه- - pedantic را هم قرار دادهام تا رفتار كامپایلر مطابق با استاندارد باشد. در واقع - - pedantic برای آن است كه نگوییم این كامپایلر منطبق برC استاندارد نمیباشد. یعنی ابزارهایGNU مانندdf و du تا زمانی كه متغیر POSIXLY-CORRECT را تنظیم نكنید، از دستورالعمل POSIX تبعیت نخواهند كرد. مثلاً در GNU به طور معمولdf وau فضای حافظه را با كیلو (k) گزارش میكنند حال آنكهPOSIX میگوید كه باید از واحدهای ۵۱۲ بایتی استفاده كنید. اگر متغیری كه گفتم را تنظیم كنید،df و au نیز از واحدهای ۵۱۲ بایتی استفاده خواهند نمود.
پینوشت:
(۱) لغتproperietary در فارسی معمولاً به معنای اختصاصی بهكار گرفته شده است. اما به نظر میآید كه معادل چندان مناسبی نباشد، زیرا تعریف دقیق آن نرمافزاری است كه در مالكیت شركتی خاص قرار دارد و یا تحت قوانین مربوط به مارك تجاری ثبت شده (Registered Trade Mark) میباشد. بنابراین “متملكانه” شاید معادل مناسبتری باشد. ولیكن در این متن به همان معادل “اختصاصی” اكتفا شده است.
منبع: http://www.maghaleh.net (http://www.maghaleh.net/)
شگفتا كه رایانهها از ۲۰ سال پیش تاكنون چگونه متحول شدهاند و چگونه متحول كردهاند. حالا هر روز هزاران نفر به خیل كاربران این جعبه جادویی دوم اضافه میشوند و هر لحظه كه میگذرد، مفهومی، شاخهای یا رشتهای جدید به این دنیا پیوند میخورد. افزایش این شاخ و برگ اما هرگز باعث نشده كه این درخت، پیر و كهنسال جلوه كند، كه برعكس، گویی هر روز جذابتر و با شكوهتر مینماید. حاصل این «پیوند»ها ثمراتی جدیدند و گلهایی جدید و خارهایی كه باید آنها را جست و عمیقانهتر نگاهشان كرد.
شگفتا كه رایانهها از ۲۰ سال پیش تاكنون چگونه متحول شدهاند و چگونه متحول كردهاند. حالا هر روز هزاران نفر به خیل كاربران این جعبه جادویی دوم اضافه میشوند و هر لحظه كه میگذرد، مفهومی، شاخهای یا رشتهای جدید به این دنیا پیوند میخورد. افزایش این شاخ و برگ اما هرگز باعث نشده كه این درخت، پیر و كهنسال جلوه كند، كه برعكس، گویی هر روز جذابتر و با شكوهتر مینماید. حاصل این «پیوند»ها ثمراتی جدیدند و گلهایی جدید و خارهایی كه باید آنها را جست و عمیقانهتر نگاهشان كرد. از ۲۰ سال پیش تاكنون مردی تلاش میكند تا از آزادی نرمافزار پاسداری كند. این مرد ریچارد.م.استالمن نام دارد كه اختصاراً به RMS مشهور شده است. (خود او در نخستین ویرایش لغتنامه هكرها مینویسد. «ریچارد استالمن نام دنیوی من است، میتوانید مرا rms صدا كنید.») استالمن بیست سال پیش بنیاد نرمافزار آزاد را تأسیس كرد و علیرغم تحولات جنبش نرمافزار آزاد طی دو دههای كه از عمر آن میگذرد، او همچنان بر مواضع خود پافشاری میكند و قاطعانه به تبلیغ و ترویج مبانی آزادی نرمافزار میپردازد. چنانچه در طول گفتوگویی كه ترجمه آن را پیشرو دارید باز هم به مصاحبهكننده (كه خود یكی از مروجین سیستمهای مبتنی بر BSD در ایتالیا است) یادآوری میكند كه نباید مفاهیم مختلف آزادی را با یكدیگر اشتباه گرفت. اشتباهی كه از تعدد معانی Free نشأت میگیرد. استالمن هماكنون برای تبلیغ نرمافزار آزاد به كشورهای مختلف سفر میكند و به عنوان نمونه اخیراً به سوریه سفری داشته است. این مصاحبه به چند لحاظ حائز اهمیت است. استالمن در خلال گفتهها، بار دیگر به تبیین تفاوتهای نرمافزار آزاد و نرمافزار منبعباز میپردازد و بهطور نسبی تصویر روشنتری را از صفبندیهای موجود و عمق پیچیدگیهای موضوع نمایان میسازد. نگاهی دوباره به نقش مجوزهای گنو (GNU) در بقای آزادی نرمافزار (Copy left) و مقایسه آنها با مجوزهای BSD حاوی نكات مهم و ارزشمندی است. موارد مذكور اگر چه به تفصیل و به كرات در پایگاه وب gnu.org و منابع دیگر یافت میشوند اما بررسی مختصر و یكباره آنها در كنار دیدگاههای استالمن در مورد جدیدترین وقایع مرتبط با جوامع آزاد و منبعباز در نوع خود جالب و خواندنی است. همچنین در شمارههای ۳۳، ۳۵ و ۳۷ در مقالاتی تحت عنوان جنبش اپنسورس و در شماره ۳۹ ماهنامه شبكه نیز به نقش تاریخی استالمن پرداخته شده است.
• شاید گنو لینوكس (كل سیستمعامل) معروفترین پروژه نرمافزار آزاد باشد، نظر شما در مورد این واقعیت كه لینوكس (هسته) برای مدیریت كدهای سنجش از یك برنامه اختصاصی (متملكانه)(۱) استفاده میكند چیست؟
o نرمافزار آزاد توسط كاربر كنترل میشود. هنگامی كه یك نسخه از آن را تهیه كنید مالك آن هستید. اگر یك خانه بخرید از جابهجایی خلاص میشوید. اگر نمیدانید چگونه میتوانید آن را تغییر دهید میتوانید یك نجار یا لولهكش استخدام كنید تا تغییرات را برای شما انجام دهند. در مورد نرمافزار هم چنین است. هر كاربر میتواند از مزایای آزادی برای تغییر نرمافزار نفع ببرد. اگر نرمافزار آزاد باشد میتوانید پسرعموی برنامهنویس خود را وادار كنید تا آن را برای شما تغییر دهد. یا كسی را برای اینكار استخدام كنید.نرمافزار غیرآزاد توسط توسعهدهنده آن كنترل میشود. توسعهدهندگان غالباً ویژگیهای بداندیشانهای را اضافه میكنند. مثلاً برای جاسوسی یا محدود كردن كاربر. گاهی اوقات آنها ویژگیهای بداندیشانه را مخفی نگهمیدارند. در عین حال آنها تصور میكنند كه مردم آنقدر به این نرمافزار وابسته هستند كه آن را حتی با ویژگیهای بداندیشانه هم میپذیرند. كاربران نمیتوانند این ویژگیها را حذف كنند چون كدمنبع را ندارند. با نرمافزار آزاد چنین چیزی اتفاق نمیافتد. چون نرمافزار آزاد توسط كاربر كنترل میشود. حتی اگر یك برنامه آزاد یك ویژگی بداندیشانه داشته باشد، هر برنامهنویس میتواند آن را حذف و نسخه اصلاح شده را منتشر كند و همه كاربران از جمله كسانی كه برنامهنویس نیستند از آن نسخه استفاده خواهند كرد. مجبور نیستید كه این تغییرات را خودتان انجام دهید. چون شخص دیگری این كار را قبل از اینكه آن را تهیه كنید انجام داده است. كاربران نرمافزار آزاد همچنین تصمیم میگیرند كه آن را چگونه توسعه دهند. در بسیاری موارد خواسته بسیاری از كاربران یكسان است. دیر یا زود كاربرانی كه با برنامهنویسی آشنا هستند یا كسانی كه میتوانند برای تغییرات پول بپردازند، تغییر موردنظر شما را انجام میدهند.
• فكر نمیكنید مشكل این باشد كه چه كسی و به چه منظوری توسعه آن را كنترل میكند؟
o مشكل نرمافزار اختصاصی این است كه یك توسعهدهنده خاص توسعه آن را كنترل میكند نه شمای كاربر. هر برنامه غیرآزاد یك ارباب و رییس دارد و اگر از این برنامه استفاده كنید او رییس شما میشود. روِسای متفاوت نیات متفاوتی هم دارند. بعضی بهتر از بقیه هستند. اما مقایسه یك رییس با رییس دیگر باعث دور شدن از مشكل اصلی میگردد كه همان آزادی است. آزادی به معنی نداشتن رییس است. با نرمافزار آزاد مجبور نیستید نگران باشید كه هدف رییس برای توسعه برنامه چیست چون شما آزادید كه برای خودتان تصمیم بگیرید.
• نظر شما در مورد این خبر كه سان یك پروژه منبع باز در مورد سیستمعاملش، یعنی سولاریس ۱۰، ایجاد خواهد كرد چیست؟
o متوجه نمیشوم كه این دقیقاً چه معنایی دارد. من مدافع منبعباز نیستم. اگر سان سیستمعامل سولاریس را به یك نرمافزار آزاد تبدیل كند پس به آزادی كاربر احترام خواهد گذاشت. این كار خوبی است. ساختن سولاریس آزاد میتواند یك كمك و همكاری اساسی و مهم برای جامعه نرمافزار آزاد باشد. اما از آنجا كه ما پیش از این نرمافزاری داشتهایم (گنو لینوكس) كه كم یا بیش مشابه آن است، این همكاری به اندازه اپنآفیس یا آزاد كردن جاوا اهمیت نخواهد داشت.
• آیا در فكر توسعه چیزی به صورت یك انشعاب یا شاید جایگزینی Hurd به جای كرنل آن هستید؟
o منظور این سؤال را نمیفهمم. انشعاب برای چه؟ جایگزینی Hurd با هسته چه چیزی؟
• من در مورد جایگزین كردن كرنل سولاریس ۱۰ به جای هسته Hurd صحبت میكنم (البته در صورتی كه آزاد باشد) o این كار قابل انجام است اما هدفی برای اینكار نمیبینم. هستهای آزاد به نام لینوكس از قبل وجود داشته كه با سیستم گنو كاملاً خوب كار میكند. چرا ما باید آن را با هسته سولاریس جایگزین كنیم؟
• به همان دلیلی كه گنو،Hurd را توسعه داد.
o هنگامی كه ما توسعهHurd را شروع كردیم هسته آزادی وجود نداشت. انگیزه ما فراهم كردن یك كرنل آزاد بود. از آنجا كه اكنون هستهای آزاد و در حال كار به نام لینوكس داریم توسعهHurd بیش از این ضرورتی ندارد. ما به دو دلیل اینكار را دنبال میكنیم. یك آنكهHurd طراحی قویتری دارد و دارای برتریهایی میباشد. دوم آنكهHurd یك هسته گنو خواهد بود برای پروژه گنو. یعنی هیچ یك از این مزایا با استفاده از سولاریس بهدست نمیآید.
• وضعیت توسعهHurd چگونه است؟
o Hurd اجرا میشود اما نه بهطور قابل اعتماد. توسعه دهندگان به آهستگی سرگرم كار برروی آن هستند. اگر چه یكی از آنها بخشی از وقت خود را صرف یافتن منابع مالی كرده است.
توسعهدهندگان به این نتیجه رسیدهاند كهMach به عنوان یكMicrokernel غیرقابل اعتماد است و به جای آن لازم است Hurd را به۴ L انتقال دهند كه این امر مستلزم بازنویسیهای اساسی است.
• چه نوع رقابتی بین GNU/Hurd تكمیل شده وGNU/Linux وجود خواهد داشت؟
o هم GNU/Hurd ، زمانی كه بهطور قابل اعتماد اجرا شود و هم GNU/Linux ، هر دو سیستمهای عامل آزاد خواهند بود. (مشروط براینكه كسی به آنها بستههای غیرآزاد اضافه نكند) بنابراین انتخاب میان آنها انتخابی كاملاً كاربردی خواهد بود. من امیدوارمHurd بهواسطه معماریش تواناییهای بیشتری ارایه كند.
• من برای روشن شدن موضوع، جملاتی را نقل میكنم:
- نقل ازHurd و لینوكس (در پایگاهgnu.org)
«هنگامی كه در سال ۱۹۹۰ توسعهHurd را شروع كردیم پرسش پیش روی ما این بود كه چگونه میتوانیم هسته آزاد برای سیستم GNU تهیه كنیم. آن زمان هسته آزاد یونیكس مانندی وجود نداشت و ما میدانستیم كه هیچكس قصد نوشتن آن را ندارد. تنها راه برای داشتن یك كرنل رایگان آن بود كه خودمان آن را بنویسیم، بنابراین دست به كار شدیم».
- نقل از لینوكس و پروژه گنو (پایگاهgnu.org )
«به غیر از گنو پروژه دیگری بهطور مستقل یك سیستمعامل یونیكسی ساخته بود. این سیستم كه اكنون بهBSD مشهور است در دانشگاه بركلی توسعه یافته بودBSD . در دهه هشتاد غیرآزاد بود اما در اوایل دهه نود به صورت آزاد عرضه شد.»
- نقل از «منبع باز: نداهایی از انقلاب منبعباز»:
«كدهای شبكهسازیBSD و یوتیلیتیهای پشتیبان تحتنام ۱Networking Releas و به عنوان اولین كدهای آزاد قابل بازتوزیع بركلی در ژوئن ۱۹۸۹ عرضه شدند. ضوابط اعطای مجوز، آزادانه بود. دارنده مجوز میتوانست كدهای اصلاح شده یا نشده را به شكل اولیه یا دودویی و بدون حق اختراع یا پرداخت پول به بركلی، عرضه كند. تنها شرط لازم این بود كه اعلامیههای كپیرایت موجود در فایل منبع دستنخورده باقی مانده و در مستندات محصولاتی كه در آنها از این كدها استفاده شده اشاره گردد، كه این محصول حاوی كدهای دانشگاه كالیفرنیا و شركایش میباشد. علیرغم اینكه بركلی برای هر نوار هزار دلار پول میگرفت، هر كس مختار بود یك كپی از آن را از كسی كه قبلاً آن را دریافت كرده بگیرد. در واقع مدت كوتاهی بعد از ارایه آن، پایگاههای بزرگ زیادی آن را به عنوانftp های بینام عرضه كردند. علیرغم این دسترسی آسان،CSRS از اینكه صدها سازمان كپیهایی از آن را خریداری كرده بودند خوشحال بود چرا كه درآمدها صرف توسعه بیشتر میشد.» ضمن خواندن این صفحات به چیزی برخوردم كه متوجه آن نمیشوم: اگرBSD از ژوئن ۱۹۸۹ با یك مجوز آزاد موجود بوده است چرا به جای نوشتن Hurd با هسته آنها شروع نكردید؟ همین سؤال در مورد هسته لینوكس در سال ۱۹۹۱ هم صدق میكند.
o فقط بخشهایی ازBSD در ژوئن ۱۹۸۹ با یك مجوز آزاد در دسترس بودند. با دقت ببینید اینجا چه گفته است: «كدهای شبكهسازیBSD و یوتیلیتیهای پشتیبان تحت عنوان ۱ Networking Releas در ژوئن ۱۹۸۹ عرضه شدند.» و «كدهای شبكهسازی» BSD فقط بخشی از یك هسته است.
• این بخشها از چه نوع مجوز آزادی استفاده میكردند؟
o فكر میكنم مجوز اصلیِBSD بود، مشابه ۴ .۴ BSD به بعد اما مطمئن نیستم.
• این مجوزBSD به اندازه كافی آزاد نبود؟
o این مجوز واجد شرایط نرمافزار آزاد هست. اما به نظر من به خوبیِ بعضی از مجوزهای نرمافزار آزاد نیست. چون از آزادی همه كاربران حفاظت نمیكند. این به واسطهها اجازه میدهد تا نرمافزارها را اختصاصی كنند كه این به معنی توزیع نرمافزار در میان دیگران اما بدون آزادی است.
• چرا نوشتن یك مجوز جدید(GPL) را ترجیح دادید؟
o من در اینجا یك سردرگمی میبینم. تصمیم من برای توسعه مجوزهای گنو هیچ ارتباطی به مجوزهایBSD نداشته است. مجوزهای BSD بعد از مجوز GNU GPL مورد استفاده قرار گرفتند. در سال ۱۹۸۵ یا ۱۹۸۶ من با افرادی ازCSRG بركلی ملاقات كردم و از آنها درخواست كردم كه كارشان را از كد یونیكسATِT جدا كنند. من از آنها خواستم كه كدشان را به جای دسترسی فقط از طریق مجوزهای ATِT به عنوان نرمافزار آزاد عرضه كنند. این كار را كردم چون میخواستم از كدهایBSD در گنو استفاده كنم.
• میدانم كه شما پایهگذار جنبش نرمافزار آزاد هستید، با این حال نمیفهمم كه شما چگونه محدودیتهای تحمیل شده توسط GPL را آزادی معنی میكنید. مثلاً شما باید كد اصلاحشده منبع را برای نرمافزاری كه به صورت عمومی عرضه میشود ارایه دهید و اینكه باید تحت همان GPL باشد. از نظر من مجوز BSD به كاربران، توسعهدهندگان و مشاغل آزادی بیشتری میدهد. اینطور نیست؟
o این همان چیزی است كه تضمین میكند كاربران از چهار آزادی برخوردار هستند. مجوزهایBSD چنین تضمینی ارایه نمیدهند و بنابراین همه كاربران چنین آزادیهایی را ندارند. مجوزهایBSD آزادی بیشتری اعطا نمیكنند. آنچه فراهم میكنند، برای آنها كه میتوانند از آن سود ببرند، قدرت است، قدرت نفی آزادی دیگران بهتر است. (برای خواندن توضیحات بیشتر میتوانید به این صفحه مراجعه كنید: www.gnu.org/philosophy/freedom-or-power.html (http://www.gnu.org/philosophy/freedom-or-power.html))
• نخستین نسخه GPL در فوریه ۱۹۸۹ آمد. نسخه دوم آن در ژوئن ۱۹۹۱ ارایه شد. دلیل آن چه بود؟
o به خاطر ندارم كه چه تغییر خاصی صورت گرفت اما شما میتوانید این دو را ببینید و مقایسه كنید. ما هر تغییری را به دلیل خاصی انجام دادیم. این مانند عرضه نسخه ۲/۱ یك برنامه است، شما باگهایی یافتهاید و آنها را اصلاح میكنید.
• آیا نسخه سوم هم در راه است؟
o ما سرگرم كار برروی یك نسخه جدید هستیم اما جاهایی وجود دارد كه نمیدانیم انجام دادن چه كاری درست است.
• چرا GPL اینقدر طولانی و قانونمأبانه است؟
GPL یك سند قانونی است، بنابراین به زبان قانون نوشته شده است در غیراینصورت این سند بهدرد نمیخورد. این سند شامل آسانترین لغاتی است كه میتوانستم پیدا كنم تا این شرایط را بهطور واضح و غیرمبهم بیان كنم.
• در هفتم اكتبر ۲۰۰۴ جف.و.مركی پیشنهاد زیر را در فهرست پستی Linux.kernel ارایه داد: «ما مبلغ پنجاه هزار دلار آمریكا را برای یك بار مجوز Linux Kernel Source برای یك Snapshot واحد از یك نسخه واحد لینوكس برمبنای شماره عرضه به Kernel.org پیشنهاد كردیم. این پیشنهاد باید توسط «همه» دارندگان حق طبع پذیرفته شود و این نگارش متعاقباً از مجوز GPL به مجوزی از نوع BSD برای این كد تبدیل خواهد شد. به بیان دیگر استفاده از نسخههای۲ .x غیرآزاد بوده و همچنین استفاده از آن بدون انجام تغییرات مجاز میباشد. لازم به توضیح است كه مبلغ فوق به Kernel.org پرداخت میشود و بایستی توسط “همه” مورد پذیرش واقع شود.» نظر شما در مورد این پیشنهاد چیست؟
o احمقانه بود كه مردم آن را بپذیرند. چرا باید به او اجازه داد لینوكس را در اختیار كاربران قرار دهد بدون آنكه به آزادی آنها احترام بگذارد. اگر من در لینوكس مشاركت داشتم به آنها نه میگفتم و برای اینكه باید به آزادی كاربران احترام گذاشت پافشاری میكردم. من هیچ بخشی از لینوكس را ننوشتهام اما این همان چیزی است كه من هنگام توسعه یك برنامه به آن توجه میكنم.
دو سمبل کپیرایت و کپیلفت در کنار هم
دو سمبل کپیرایت و کپیلفت در کنار هم
• تعدادی از توسعهدهندگان این پیشنهاد را فوراً رد كردند. بنابراین به نظر میرسد كه آنها برای دیدن نگارشی از لینوكس مبتنی بر مجوز BSD شانسی ندارند.
o چه بهتر!
• به هر حال شك دارم كه این وضعیت در آینده تغییر كند. با اینهمه، لینوكس برای مدیریت كد منبعش از یك نرمافزار اختصاصی استفاده میكند. این واقعاً الگوی بدی برای جنبش نرمافزار آزاد است. یعنی اعطای آزادی در ازای پول. آیا برای اطمینان از اینكه این امر هرگز اتفاق نیفتد برنامهای دارید؟
o نمیتوانم پیشگویی كنم. اما حدس میزنم كسانی كه پاسخ منفی دادند را‡ی خود را حفظ كنند. لینوس با استفاده از یك نرمافزار غیرآزاد در این راه حساس و عمومی، الگوی بدی را در جامعه جا انداخته است. هنگامی كه او این كار را كرد، من در لیستLinux.Kernel از او انتقاد كردم و فكر میكنم با مطرح كردن این موضوع به منصرف شدن پروژههای دیگر از انجام چنین كاری كمك كردهام. به این ترتیب تأثیرات زیانآور این قضیه كاهش یافته است. بنیاد نرمافزار آزاد نمیتواند بیش از این كاری در مورد لینوكس انجام دهد چرا كه ما در توسعه این برنامه خاص نقشی نداریم.
• لینوكس امروز فقط یك هسته است. بنابراین شما هنوز مستقیماً روی دیگر بخشهای این سستمعامل نظارت دارید. دلیل اینكه نام كامل سیستمعامل گنو لینوكس میباشد هم همین است.
o این دلیل نامگذاری گنو - لینوكس نیست و ارتباطی به آن ندارد. نام گنو لینوكس به این معنی است كه این لیست با عنوان گنو آغاز و لینوكس به آن اضافه شده است. این روزها سیستم شامل هزاران بستهای است كه توسط هزاران توسعهدهنده تولید میشوند. اما پایه و اساس هنوز گنو است و لینوكس به آن اضافه شده است.
• بابت این توضیح ممنونم. فكر میكنم تنها كسی نبودم كه این تصور غلط را داشته است چون صفحه خانگی پروژه دبیان (www.Debian.org (http://www.debian.org/)) میگوید: «دبیان از هسته لینوكس استفاده میكند (هسته یك سیستمعامل) اما اغلب ابزارهای پایهای سیستمعامل برگرفته از پروژه گنو میباشند، از همین رواست كه گنولینوكس نام دارد» آیا در مورد اینكه روزی لینوس توروالدز تصمیم بگیرد رهبری یكی از توزیعهای لینوكس را بهدست گیرد فكر كردهاید؟
o خیر چون او همیشه گفته است كه علاقهای به این كار ندارد. اگر میخواهد چنین كاری كند البته كه استحقاق آن را دارد. هر كسی میتواند این كار را انجام دهد.
• امروزه «لینوكس» واژه جادویی IT است و سردرگمیهای فراوانی در مورد بروز معانی نرمافزار آزاد منبعباز و یا لینوكس و گنولینوكس وجود دارد. از اینكه گنو و بنیاد نرمافزار آزاد مقبولیت و نفوذ خود را از دست بدهد نمیترسید؟
o به كار بردن واژه ترس نسبتاً سخت است. احساس من نگرانی در مورد بروز یك مشكل واقعی است. پروژه گنو زمانی اعتبار خود را از دست میدهد كه مردم كارهای بسیار مهم گذشته ما را به دیگری نسبت بدهند و این اثربخشی كارهای امروزی ما را كاهش میدهد. دهها میلیون نفر اكنون از سیستمعاملی استفاده میكنند كه به خاطر یك مبارزه همیشگی برای آزادی - چیزی بیهمتا در دنیای رایانش - توسعه یافته است و آنها این را نمیدانند. نام لینوكس هرگز با آزادی به عنوان هدف پیوند نخورده است، این مقصود با نام گنو گره خورده است. وقتی مردم میپندارند كه سیستم لینوكس است، از چرایی توسعه آن تصور غلطی خواهند داشت. آنها فكر میكنند لینوس توروالدز آن را برای تمرین و سرگرمی بهوجود آورده است. لذت و آزادی هر دو میتوانند مردم را برای توسعه نرمافزار آزاد تهییج كنند. اگر مردم این موضوع را بدانند این محركها میتوانند برای آنها الهامبخش باشند. من از كاربران گنولینوكس میخواهم كه بدانند دلیل موجودیت این سیستم آزادی است. آن وقت است كه گروهی از آنها برای دفاع از آزادیمان به ما ملحق خواهند شد. در دنیا هرگز به اندازه كافی برای آزادی مدافع وجود ندارد.
• همانطور كه گفتید: «در دنیا هرگز به اندازه كافی برای آزادی مدافع وجود ندارد.» اما Distrovatch.com بیش از ۳۵۰ توزیع گنو لینوكس را برشمرده است. به نظر شما این به نوعی پراكندگی منابع نیست؟
o طبیعتاً مقداری اتلاف وجود دارد. اما نه به اندازهای كه فكر میكنید. بسیاری و شاید اغلب این توزیعها مشتقانی از توزیعهای دیگر هستند و حفظ یك توزیع اشتقاقی كار چندانی ندارد.
• شما داروینِ اپل را چگونه معنا میكنید؟ هم اختصاصی و هم منبعباز؟
o داروین اكنون نرمافزار آزاد است نه اختصاصی (منبع باز هم هست) گر چه دو سال پیش بخشهایی از كد داروین مجوز متفاوتی داشت كه منبعباز بود، اما نرمافزار آزاد محسوب نمیشد.
• من از چند سال پیش بازار سیستمهای عامل را زیر نظر دارم. به نظر من با هر عرضه Mac OSX اضافه شدن نوآوریها تداوم یافته و تجربه كاربران آن بهبود مییابد. اما چنین بهبودهایی را در هیچ یك از توزیعهای تجاری گنولینوكسRedHat) ،Mandrake ،Novell/suse و ...) نمیبینیم. چنین به نظر میرسد كه این شركتهای بزرگ یك محصول كامل را به سادگی با در كنار هم قرار دادن نتیجه و دستاورد پروژههای خارجی گوناگون تولید میكنند. آنها لینوكس (هسته)،GCC ، یوتیلیتیهای دیگر گنو،XFree/X.org ،KDE/Gnome و غیره را دربردارند. پس نوآوری برای كاربر كجاست؟
o بخش آخر پرسش شما این تصور را القا میكند كه نوآوری همان چیزی است كه ما میخواهیم و آزادی مسأله ثانویه است. از نظر من این درست عكس قضیه است. آزادی مهمترین چیز است و نوآوری تا جایی كه آزادیمان را حفظ كند خوب است. هرگز از خودم نپرسیدهام كه ممكن است نرمافزار آزاد به معنای نوآوری بیشتر باشد یا نباشد چون خواسته من آزادی است. نرمافزار آزاد نرمافزاری است كه به آزادی ما احترام میگذارد. نرمافزار اختصاصی (متملكانه) منكر آزادی كاربر است. در صورتی كه نرمافزار اختصاصی نوآورانه باشد باز هم از آن استفاده نخواهم كرد. من بیست سال برای آزادی خودم و شما جنگیدهام و به خاطر رسیدن به راحتی، از آن دست برنخواهم داشت. نوآوری تا جایی پسندیده است كه به آزادی مردم احترام میگذارد اما هنگامی كه طعمهای است تا مردم آزادیشان را فدا كنند، ناپسند است.
• من در مورد شركتهای تجاری صحبت میكنم كه با عرضه نرمافزارهای آزاد از آزادی حمایت كردهاند. بنابراین آزادی از قبل وجود داشته است. آنها میتوانند نوآور باشند یا نباشند. این فقط جنبه تجاری دارد. آنها ترجیح دادند پولها را صرف آگهیهای بزرگ تبلیغاتی كنند. تنها تردید آنها این بود كهGPL ممكن است مانع نوآوری شود.GPL مانع اصلاحات غیرآزاد است GPL .تنها ممكن است مانع «نوآوری»هایی شود كه غیرآزاد هستند، آیا اشكالی در آن میبینید؟ من نمیبینم. اگر برنامهای غیرآزاد باشد تهاجمی به همبستگی اجتماعی محسوب میشود. خوشحال خواهم شد اگر بتوانم از توسعه چنین نرمافزاری جلوگیری كنم.
• جایی خواندهام كه مایكروسافت ادعا كردهGPL نوآوری در كسب و كار را نابود میكند.
GPL برای حراست از آزادی نرمافزار آزاد ایجاد شده است. این مجوز میگوید كه نسخههای اصلاح شده نرمافزار هم باید آزاد باشند. این همان چیزی است كه مایكروسافت نمیپسندد. مایكروسافت فكر میكند حق دارد از كار ما در محصولاتش استفاده كند، حتی هنگامی كه این محصولات اختصاصی هستند. مایكروسافت به ما اجازه نمیدهد از كدهای منبعش در برنامههای خود استفاده كنیم اما فكرمیكند كه ما باید به آنها اجازه دهیم تا از كدهای منبع ما در برنامههایشان استفاده كنند. مایكروسافت میگوید: «مال من مال خودم است و مال تو هم مال من است». اما آیا حمایت ما از آزادی كاربران از نوآوری خاصی جلوگیری خواهد كرد؟ شاید. زمانی كه یك نوآوری به قیمت سلب آزادی ما تمام شود، GPL میگوید نه! آیا این چیز بدی است؟ این به ارزشهای شما بستگی دارد. اگر تماماً برای نوآوری ارزش قائلید و برای آزادی بهایی قائل نیستند آنگاه حمایت قاطعانهGPL از آزادی كاربران را چیز بدی میپنداریم. از سوی دیگر اگر برای آزادی ارزش قائل باشید، خوشحال خواهید شد كه GPL سد راه توسعهدهندگان بیقیدی است كه از نوآوریهای وسوسهانگیز به عنوان طعمه برای كاربران استفاده میكنند تا از آزادیشان دست بكشند. از آنجا كه مصمم هستم آزادیم را حفظ كنم از نرمافزار غیرآزاد استفاده نخواهم كرد. پس اگر نوآوریهای شما نرمافزار غیرآزاد میباشد، لطفاً آنها را ننویسید. لطفاً كار دیگری انجام دهید. كاری كه نفیكننده آزادی كاربران نباشد.
• استیو بالمر، مدیر اجرایی مایكروسافت، گفته است: «از حدود سه سال پیش ما امنیت نرمافزاری را در اولویت قرار دادهایم.» آیا امنیت نرمافزار برای گنو نیز در اولویت است؟
o من چنین نظری ندارم اما تلاش میكنیم آنرا ایمن سازیم.
• چراGCC هنوز دارای هیچ فناوری حفاظتی حافظهای نیست؟
o من از توسعهدهندگانGCC خواهم خواست تا نگاهی به این روشها داشته باشند و من را در مورد امكان نصب یك یا چند تا از آنها درGCC مطلع سازند.
• آیا پروژه گنو استانداردهایی چون IEEE و استانداردهای بالفعل را پذیرفته و به رسمیت میشناسد؟
o ما از همه استانداردها تا زمانی كه برای كاربران مفید باشد تبعیت میكنیم. با این حال ما آنها را نه به عنوان اجبار بلكه صرفاً پیشنهاد تلقی میكنیم. اما اگر رها كردن یك استاندارد برای كاربران راحتتر باشد، این كار را میكنیم. به عنوان مثال، C استاندارد، كامپایلر را ملزم میكند كه ورودیهایی كه با قواعد Syntax (نحوی) سازگاری ندارند را گزارش كندGCC . اما گونههایی از C را دارد كه اجازه میدهد از اعلام این ناهماهنگیها صرفنظر كنید و این یعنی تداخل با استاندارد. من برای حل این مسأله تابعی به نام-ansi را قرار دادهام تا اعلام گزارشهای خطا را غیرفعال كند. ضمن آنكه- - pedantic را هم قرار دادهام تا رفتار كامپایلر مطابق با استاندارد باشد. در واقع - - pedantic برای آن است كه نگوییم این كامپایلر منطبق برC استاندارد نمیباشد. یعنی ابزارهایGNU مانندdf و du تا زمانی كه متغیر POSIXLY-CORRECT را تنظیم نكنید، از دستورالعمل POSIX تبعیت نخواهند كرد. مثلاً در GNU به طور معمولdf وau فضای حافظه را با كیلو (k) گزارش میكنند حال آنكهPOSIX میگوید كه باید از واحدهای ۵۱۲ بایتی استفاده كنید. اگر متغیری كه گفتم را تنظیم كنید،df و au نیز از واحدهای ۵۱۲ بایتی استفاده خواهند نمود.
پینوشت:
(۱) لغتproperietary در فارسی معمولاً به معنای اختصاصی بهكار گرفته شده است. اما به نظر میآید كه معادل چندان مناسبی نباشد، زیرا تعریف دقیق آن نرمافزاری است كه در مالكیت شركتی خاص قرار دارد و یا تحت قوانین مربوط به مارك تجاری ثبت شده (Registered Trade Mark) میباشد. بنابراین “متملكانه” شاید معادل مناسبتری باشد. ولیكن در این متن به همان معادل “اختصاصی” اكتفا شده است.
منبع: http://www.maghaleh.net (http://www.maghaleh.net/)