نرم افزارهای اپن سورس با نرم افزارهای آزاد چه تفاوتی دارند؟

وقتی وارد دنیای فناوری و برنامه نویسی می‌شوید مرتباً اصطلاح Ware یا «افزار» به گوشتان می‌خورد. در واقع پسوند «افزار» که در موارد مختلفی مورد استفاده قرار می‌گیرد هیچ ارتباط مستقیمی با کامپیوترها، فناوری و برنامه نویسی و ... ندارد. ولی اگر واقعاً این طور است، پس چرا «افزار» در عبارات مشابه زیادی مثل «نرم افزار» وجود دارد؟ چه نوع افزارهایی (نرم افزار) داریم و سوال مهم‌تر این که تفاوت نرم افزارهای آزاد با نرم افزارهای اپن سورس چیست؟ برای یافتن پاسخ به این سوال، با سکان آکادمی همراه باشید.

پیش از هر چیز، به سؤال اول می‌پردازیم. کلمه Ware که در فارسی «افزار» ترجمه می‌شود به معنی یک کالا است (البته این کلمه معانی دیگری هم دارد که به کار ما مربوط نمی‌شوند.) این کلمه معمولاً در ترکیب با لغات دیگر استفاده می‌شود و معانی مختلفی پیدا می‌کند. کلماتی که در انتهایشان عبارت افزار را به همراه دارند معمولاً یک محصول را توصیف می‌کنند. مثلاً کلمه Silverware از دو کلمه ی Silver به معنی «نقره» و Ware به معنی «افزار» یا کالا تشکیل شده است که در کل به معنی «نقره آلات» است.

استفاده از پسوند Ware در Software در حقیقت نشانه دهنده این است که از همان ابتدای کار قرار بر آن بوده که نرم افزار فروخته شود. البته به لطف علاقه و ذوق برنامه نویسان و کسانی که اولین بار محصولات مختلف دنیای فناوری را نام‌گذاری می‌کردند، در حال حاضر چیزهای زیادی وجود دارند که از پسوند افزار استفاده می‌کنند، مثل نرم افزار، سخت افزار، نرم افزار آزاد (Freeware)، اشتراک افزار (Shareware)، بد افزار (Malware)، نرم افزار جاسوسی (Spyware) و موارد مشابه دیگر که اگر بخواهیم آن‌ها را تک‌تک نام ببریم، از حوصله‌ ی این مقاله خارج است.

نکته مهم و جالب اینجا است که برخی از این عباراتی که با استفاده از پسوند ware ایجاد شده‌اند در حقیقت ترکیبات متناقض و کنایی یا برخی دیگر تناقض گویی محسوب می‌شوند؛ دقیقاً مثل نرم افزار آزاد و اشتراک افزار!

حال که فهمیدیم افزار یعنی چه، می‌توانیم سؤال بعدی، یعنی تفاوت نرم افزارهای آزاد و نرم افزار اپن سورس را بررسی کنیم. در واقع تفاوت میان نرم افزار آزاد یا اشتراک افزار با نرم افزار اپن سورس بسیار زیاد است و این دو را نمی‌توان باهم مقایسه کرد. نرم افزار آزاد معمولاً برای این تولید می‌شود که نام یک شرکت، برند یا آگاهی نسبت به یک محصول را افزایش بدهد. مثلاً شرکت‌هایی هستند که آنتی ویروس رایگان تولید می‌کنند و در اختیار کاربران قرار می‌دهند که هدف اصلی از این کار تبلیغات است. از جمله این شرکت‌ها می‌شود به شرکت AVG و McAfee اشاره کرد. سیاست کاری این شرکت‌های این‌طور است که کاربر را به استفاده از نسخه رایگان نرم افزار ترغیب می‌کنند و سپس سعی می‌کنند او را متقاعد کنند که برای استفاده از نسخه پولی و پیشرفته‌تر (یا با امکانات بیشتر) آن، هزینه‌ای بپردازند. در نتیجه با آن که این نرم افزارها اصولاً رایگان هستند، ولی همه ویژگی‌های آن به‌طور رایگان در اختیار کاربر قرار نمی‌گیرد و با محدودیت‌هایی همراه اند.

مثلاً یکی از محدودیت‌های اصلی این نوع نرم افزارها این است که شما بدون مجوز صاحب آن نمی‌توانید آن را توزیع کنید. نوع دیگری از نرم افزارها هم هستند که شباهت زیادی به نرم افزارهای آزاد دارند ولی صاحب آن نرم افزار به همه اجازه می‌دهد آن را توزیع کنند. این نرم افزارها، اشتراک افزار یا Shareware نامیده می‌شوند. در اشتراک افزارها با آن که کاربر یک نسخه از نرم افزار را در دست دارد ولی مجوز و اجازه فروش آن را ندارد. البته این مسئله علاوه بر دیگر مشکلات فنی و ایرادهای دیگری است که اشتراک افزار می‌تواند داشته باشد. مشکل دیگر اشتراک افزار این است که کاربرها به سورس کد آن دسترسی ندارند. یعنی نرم افزارهای آزاد و اشتراک افزارها با آن که از کاربر هزینه‌ای دریافت نمی‌کنند ولی دست او را هم باز نمی‌گذارند و محدودیت‌های زیادی برای او قائل می‌شوند.

در این میان، یکسری مجوزها همچون لایسنس GPL، لایسنس آپاچی (Apache Lisencse)، لایسنس MIT و لایسنس BSD وجود دارند و با آن که این لایسنس ها ممکن است کمی با یکدیگر متفاوت باشند ولی مهم این است که آزادی، استفاده، دست‌کاری و تغییر و فروش نرم افزار دارای لایسنس را هم به شکل سورس کد و هم به شکل باینری ممکن ساخته‌اند (برای کسب اطلاعات بیشتر، به آموزش آشنایی با مفهوم مجوزهای انتشار نرم‌افزار مراجعه نمایید.)

برخی از این لایسنس ها در یکسری زمینه‌ها سخت گیرتر هستند و محدودیت‌های بیشتری دارند. مثلاً GPL اجازه استفاده از هر کد دلخواه یا کتابخانه‌های ایستای متصل شده‌ای که در GPL نیستند را نمی‌دهد. این مسئله باعث می‌شود که نویسندگان کدهای جدید برای نوشتن کدهای بیشتر GPL به استفاده از خود کدهای GPL تمایل پیدا کنند.

البته این محدودیت در LGPL کمتر است. با این حال باید گفت که حتی این لایسنس هم به نسبت بیشتر لایسنس های دیگر، بسیار محدود به‌حساب می‌آید. به علاوه باید به این نکته هم اشاره کرد که این کار باعث محدود کردن آزادی نویسنده یا کد لایسنس نمی‌شود چرا که نویسنده مجبور نیست از کد GPL استفاده کند و همچنین استفاده از کد لایسنس شده GPL در پروژه‌هایی که خودشان اپن سورس نیستند، ممکن نیست.

اگر نگاهی به تاریخ نرم افزارهای آزاد بیندازیم، می‌فهمیم که در این میان برخی نرم افزارهای یا مجموعه نرم افزارهایی بوده‌اند که بسیار موفق ظاهر شده‌اند و در زمینه خود برجسته و باکیفیت هستند. مثلاً بیشتر کارهایی که گوگل در رابطه با پروتکل‌های اتوماسیون خانگی انجام می‌دهد و پروژه‌های مرتبط با اندروید، در کیفیت بالایی دارند.  

این فقط نرم افزارها نیستند که می‌توانند اپن سورس شوند. سخت افزارها هم قابلیت اپن شدن را دارند. مثلاً Arduino یکی از این موارد است. به علاوه طراحی‌های سه بعدی چاپ شده، برخی آثار هنری، کتاب‌ها و ... هم هستند که اپن سورس محسوب می‌شوند. اپن سورس باعث می‌شود که به‌طور کلی دنیای ما بازتر و گسترده‌تر باشد. اپن سورس همان چیزی است که باعث حرکت رو به جلو می‌شود.

بنابراین هر وقت چیزی خلق کردید و از این کار خوشتان آمد بهتر است آن را اپن سورس کنید. مثلاً یک اثر هنری، یک قطعه کد که احتمالاً کاربرد زیادی دارد، یک برنامه کوچک و جمع و جور یا حتی یک قطعه موسیقی دل‌نشین می‌تواند ادای دینی به اپن سورسی -که خودتان از آن بهره گرفته‌اید- باشد. فقط باید در مورد محدودیت‌ها و مسئولیت‌های نوع لایسنسی که انتخاب می‌کنید کمی اطلاعات جمع کنید. برای کسب اطلاعات بیشتر در مورد این موضوع، می توانید به آموزش آشنایی با انواع لایسنس های نرم افزارهای متن باز مراجعه نمایید.

Difference Between Freeware and Open Source Software

0







  • امین در تاریخ: 1395/08/20

    مطلب جالبی بود
    استفاده کردیم
    مرسی از تیم سکان آکادمی

  • جواد در تاریخ: 1395/08/22

    دستتون درد نکە واقعا مفید بود و کلی مطلب جدید داشت.بژی

از طریق این فرم، می توانید بدون ثبت نام نظر دهید و یا اگر قبلا ثبت نام کرده اید، با ورود ناحیه ی کاربری می توانید علاوه بر ثبت نظر، به مدیریت نظرات خود نیز بپردازید.
(فیلد اجباری)
(فیلد اجباری)
(فیلد اجباری)
(فیلد اجباری)