نحوه راه اندازی گوشی های هوشمند و رایانه های شخصی. پرتال اطلاعاتی
  • خانه
  • اخبار
  • نرم افزار متن باز. انواع مجوزهای حق استفاده از نرم افزار منبع باز

نرم افزار متن باز. انواع مجوزهای حق استفاده از نرم افزار منبع باز


بیشتر نرم افزارهای مورد استفاده به صورت کامپایل شده توزیع می شوند. این بدان معنی است که کد منبع چنین برنامه هایی از یک کامپایلر ویژه عبور می کند که آن را به زبانی تبدیل می کند که کامپیوتر می تواند آن را درک کند. به نوبه خود نرم افزاری که استفاده می کند متن باز، کاملا برعکس است.

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

چندین معیار واجد شرایط بودن وجود داردبرای برنامه های متن باز:

  • توزیع رایگان بسته نرم افزاری، اما در عین حال می تواند بخشی از یک پروژه تجاری باشد.
  • پیوست کد منبع اجباری؛
  • توانایی هر کسی برای ویرایش کد منبع؛
  • توانایی توزیع نسخه های اصلاح شده برنامه ها؛
  • هیچ الزامی برای حذف سایر نرم افزارها یا تداخل در عملکرد آن وجود ندارد.

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

با گذشت زمان، نگرانی عمومی خاصی در میان مصرف کنندگان در مورد عدم گارانتی و همچنین پشتیبانی فنی از چنین نرم افزارهایی پدید آمده است. بنابراین، Red Hat Software یک بسته نرم افزاری رسمی به نام Official Red Hat Linux ایجاد می کند که موفق به فروش آن می شود. مهمترین ویژگی چنین سیستم عاملی به بازار عرضه شده بود در دسترس بودن گارانتی و پشتیبانی فنی، چیزی که کم اهمیت نیست.

چندین شرکت دیگر نیز در حال توسعه نسخه‌های جدید لینوکس برای فروش بودند و این بسته‌ها بودند علاوه بر این به نرم افزارهای مختلف مجهز شده استاز جمله: مرورگر اینترنت موزیلا ایجاد شده بر روی هسته نت اسکیپ، وب سرور آپاچی، زبان برنامه نویسی وب Perl، فرمت فایل گرافیکی PNG و بسیاری موارد دیگر. علاوه بر این، نسخه هایی از بسته های نرم افزاری ذکر شده برای سیستم عامل های ویندوز و اندروید توسعه یافته است. این نشان می دهد که برنامه های منبع باز نه تنها برای رایانه ها، بلکه برای دستگاه های تلفن همراه نیز در دسترس هستند.

به طور خلاصه، شایان ذکر است که برنامه هایی که با کد منبع باز ارائه می شوند، دارای معایبی هستند. اول از همه این انواع نسخه ها، در نتیجه اصلاح یک برنامه ممکن است منجر به ایجاد یک بسته نرم افزاری مستقل جدید شود. دومین موردی که باید تاکید کرد این است کاربرانی که از برنامه های قدیمی استفاده می کنند، که ممکن است برخی از خطاها برطرف نشود، امکان کار با فرمت های فایل جدید و ... وجود ندارد. نمونه ای از این موارد، برنامه های Microsoft Word و Open Office هستند. اگر فرمول پیچیده ای در بسته اول نوشته شده باشد، فرمول دوم به سادگی قادر به خواندن آن نخواهد بود.

همچنین در بین نرم افزارهای متن باز به اصطلاح وجود ندارد بسته های ویژهطراحی شده برای حسابداری و گزارش. یکی دیگر از ایرادات مستقیماً به سخت افزار مربوط می شود؛ واقعیت این است که هنگام تغییر از ویندوز به لینوکس، باید در نظر داشته باشید که درایورهای لینوکس برای همه مدل های دستگاه های رایانه ای وجود ندارد که باعث اختلال در عملکرد سیستم می شود.

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

مارک رابرتز
مدیر، مدیریت محصول
سیستم های نرم افزاری QNX
پست الکترونیک: [ایمیل محافظت شده]

حاشیه نویسی

این مقاله بر مزایا، ملاحظات استراتژیک، موانع و فرصت های مرتبط با استفاده از نرم افزار منبع باز در محصولات تجاری تمرکز دارد. با استفاده از محیط توسعه یکپارچه مبتنی بر Eclipse (IDE) به عنوان مثال، تفاوت‌های بین مجوزهای کد منبع نرم‌افزار محافظ و غیر محافظ را مورد بحث قرار خواهیم داد. هنگام ادغام یا پیوند کد منبع باز با کد منبع بسته "اختصاصی"، اغلب دقت و احتیاط لازم است. همچنین مسائل حقوقی مختلفی وجود دارد که باید از آنها آگاه بود، مانند احتمال نقض حق اختراع. ما همچنین سعی خواهیم کرد توضیح دهیم که چرا اصول اولیه نرم افزار منبع باز در محیط فناوری اطلاعات (IT) برای محصولات تعبیه شده تجاری اعمال نمی شود.

محیط توسعه QNX Momentics به عنوان نمونه ای از استفاده از نرم افزار منبع باز

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

برای QNX، توسعه IDE یک "شرط بر روی آینده" بود، زیرا هزینه و تلاش برای توسعه پروژه فراتر از دسترس اکثر فروشندگان ابزار سیستم های جاسازی شده در آن زمان بود. خوشبختانه QNX با IBM در بخش‌های مختلف بازار تعبیه‌شده همکاری نزدیک داشت. از طریق همکاری نزدیک، IBM برنامه های خود را برای انتشار یک محیط توسعه یکپارچه منبع باز که بعداً پایه ای برای پلتفرم Eclipse شد، با QNX به اشتراک گذاشت.

IBM پیشنهاد استفاده از تخصص QNX را برای تطبیق فناوری IDE با نیازهای توسعه دهندگان ایجاد برنامه های کاربردی تعبیه شده بر اساس زبان C/C++ ارائه کرد. کارشناسان QNX تقریبا بلافاصله به مزایای قانع کننده استفاده از یک IDE منبع باز اشاره کردند. به عنوان مثال، برای چنین محیطی ممکن است:

  • حذف وابستگی به یک فروشنده، که معمولاً با نیاز به مجوز یک پلت فرم پنجره همراه است.
  • ارائه کد برنامه منبع برای سفارشی سازی به نیازهای مشتری؛
  • جذب بازیگران جدی صنعتی برای ارائه پشتیبانی و ایجاد اکوسیستمی از فناوری‌ها و افزونه‌های مکمل.
  • ارائه یک معماری پایدار به مشتریان که می تواند از تمایز محصول پشتیبانی کند.
  • توسعه دهندگان دستگاه های جاسازی شده را قادر می سازد از ایستگاه های کاری استاندارد به عنوان یک پلت فرم توسعه، مناسب برای کار با برنامه های کاربردی فناوری اطلاعات (در طیف گسترده ای از برنامه ها) استفاده کنند.

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

تاسیس پروژه متن باز Eclipse.org

در نوامبر 2001، Borland، IBM، Merant، QNX Software Systems، Red Hat و SUSE کنسرسیوم Eclipse را تأسیس کردند. در اوایل سال 2004، هیئت سرپرستان کنسرسیوم اکلیپس را به یک شرکت غیرانتفاعی به نام بنیاد اکلیپس سازماندهی مجدد کرد.

از همان ابتدا، Eclipse یک پروژه واقعا متن باز بود. این پروژه هم فناوری‌های منبع باز رایگان و هم دسترسی به جامعه‌ای از تحصیل‌کرده‌ترین و پیشرفته‌ترین توسعه‌دهندگان در حوزه خود را ارائه می‌کرد. بنابراین، این فناوری تبدیل به یک پلت فرم جهانی برای ادغام انواع ابزارهای توسعه شد. این مبتنی بر معماری باز و قابل توسعه است و به وضوح به عنوان یک محصول رایگان و بدون حق امتیاز مجوز دارد. مشارکت‌های جامعه در پروژه Eclipse بر اساس مدل توسعه نرم‌افزار منبع باز استاندارد (OSS) است، اما اکثر اعضا همچنین در توسعه‌های تجاری مبتنی بر پلتفرم Eclipse مشارکت می‌کنند.

پروژه مخزن ابزار

در دسامبر 2001، QNX ساخت QNX® Neutrino® RTOS خود را بر اساس پلتفرم Eclipse IDE آغاز کرد. در چشم انداز این شرکت، IDE قرار بود عملکرد بیشتری داشته باشد، بر روی کار با زبان های C/C++ تمرکز کند و ابزارهای عمیقی برای اشکال زدایی، پروفایل، تجزیه و تحلیل و ایجاد برنامه های کاربردی تعبیه شده داشته باشد. از همان ابتدا، تیم QNX آن را به عنوان یک IDE چند منظوره و چند زبانه تصور می کرد که از چندین پلتفرم ابزار پشتیبانی می کرد. این شامل:

  • چندین پلت فرم ابزار: Windows، Solaris، QNX Neutrino RTOS (توسعه خود میزبان)؛
  • چندین معماری هدف: ARM، MIPS، PowerPC، SH-4، x86.
  • زبان های برنامه نویسی C، C++، جاوا.

از آن زمان به بعد، IDE به رشد خود ادامه داد تا شامل پشتیبانی از پلتفرم لینوکس و پشتیبانی از معماری‌های پردازشگر اضافی، از جمله پردازنده‌های XScale شود.

این پروژه به سبک «برنامه نویسی افراطی» راه اندازی شد. تیمی متشکل از 12 مهندس برتر از این شرکت انتخاب شدند. یک اتاق ویژه به آنها داده شد، آنها از همه حواس پرتی جدا شدند، پروژه به طور کامل در اختیار آنها قرار گرفت.

به تیم اختیار تصمیم گیری لازم داده شد و برنامه کاری فشرده و پرخطر به آنها داده شد تا نسخه بتا محصول را در 16 هفته منتشر کند و نسخه تجاری آن را تا 4 ژوئیه 2002 منتشر کند. این گروه به تمام ضرب الاجل های هدف عمل کرد و یک محصول جدید - به نام QNX Momentics® IDE - درست طبق برنامه منتشر کرد که پتانسیل نرم افزار منبع باز را برای کاهش زمان عرضه به بازار نشان می دهد.

از ایده تا تحویل محصول - کمتر از 7 ماه

تیم QNX بر اساس پلتفرم Eclipse، یک IDE بسیار قدرتمند و جامع را برای توسعه نرم‌افزار تعبیه‌شده در شش ماه تکمیل کرد. IDE از توسعه کراس پلتفرم برای پلتفرم های ابزار متعدد و چندین زبان برنامه نویسی پشتیبانی می کند و همچنین از محبوب ترین بردهای پردازنده برای دستگاه های هدف تعبیه شده پشتیبانی می کند. با استفاده از پلتفرم Eclipse، QNX توانست:

  • از کامپایلرهای گنو و ابزارهای خط فرمان برای توسعه متقابل استفاده کنید.
  • پشتیبانی از پلاگین های شخص ثالث، مانند IBM WebSphere برای برنامه های جاوا جاسازی شده و Rational ClearCase برای توسعه مدل محور.
  • ایجاد ابزارهای اضافی برای ساخت سیستم ها، مدیریت دستگاه های هدف، تجزیه و تحلیل حافظه، پروفایل سیستم ها و برنامه ها و غیره.

در شکل شکل 1 نمونه ای از نحوه استفاده از پلتفرم Eclipse را نشان می دهد که هزینه ایجاد یک IDE را کاهش می دهد، که به شرکت ها اجازه می دهد توجه خود را بر سطوح بالای توسعه متمرکز کنند، جایی که نوآوری های واقعی ایجاد می شوند. به عنوان مثال، با استفاده از پلتفرم Eclipse، QNX به راحتی توانسته است چندین ابزار تجسم نوآورانه ایجاد کند که می تواند به عمق یک سیستم تعبیه شده رفته و رفتار آن را نشان دهد.

به جامعه برگرداند

نقطه قوت یک پروژه منبع باز موفق در همکاری جامعه توسعه دهندگان و بهبود مستمر پایه کد نهفته است. اگر یک شرکت از کد منبع باز استفاده کند و به خوبی از آن استفاده کند، به سادگی موظف است به جامعه کمک کند. برای این منظور، QNX رهبری پروژه Eclipse CDT را در ژوئن 2002 به عهده گرفت.

هدف پروژه Eclipse CDT (ابزار توسعه C/C++) ایجاد مجموعه ای مشترک از ابزارهای زبان C/C++ قابل همکاری برای پلتفرم Eclipse است. Eclipse CDT به عنوان یک پروژه منبع باز با حقوق مدیریت از شرکت Eclipse قرار گرفت. برای راه اندازی پروژه CDT، QNX منابع توسعه و کد منبع خود را به پروژه QNX Momentics IDE اهدا کرد. راشنال و کلاه قرمزی نیز به عنوان اعضای جامعه حمایت قابل توجهی از این پروژه کردند.

برنج. 1. با استفاده از پلت فرم Eclipse، فروشندگان ابزار می توانند توجه خود را بر روی سطح بالای پشته کاری متمرکز کنند، جایی که نوآوری واقعی ایجاد می شود.

QNX به حفظ پروژه CDT ادامه می دهد، که از 80000 خط کد به بیش از 700000 خط کد رسیده است. در اوایل سال 2006، گزارش پیشرفت پروژه Eclipse CDT سهم QNX را 52% تخمین زد. بعد از آن آی بی ام با سهم 36 درصدی قرار گرفت. پروژه CDT دومین پروژه محبوب شرکت Eclipse بعد از خود پلتفرم Eclipse است.

آیا می توانید از عهده «اهدای» کد برآیید؟

ممکن است به نظر برسد که "اهدا کردن" کد شما به معنای عمل خلاف عقل سلیم است. با این حال، اگر عملکرد محصول شما مفید است، پس چرا آن را به جامعه منبع باز کمک نکنید. با برداشتن این مرحله، می توانید از این پیشنهاد پیاده سازی «استاندارد» همراه با استفاده از تخصص پشتیبانی محصول بهره مند شوید. شما می توانید از کار کل جامعه با هدف بهبود پایگاه کد بهره مند شوید. این استراتژی می‌تواند منابع خود را برای انجام تحقیقات بیشتر با تمرکز بر پیشرفت‌های نوآورانه برای افزودن قابلیت‌های اضافی به محصولات شما آزاد کند.

علاوه بر این، شما می توانید کنترلی بر جهت پلت فرم "استاندارد" به دست آورید - البته از طریق خدمات خود به جامعه به دست آورده اید! اگر پروژه ای را حفظ می کنید، به عنوان یک شهروند خوب جامعه رفتار کنید، به نظرات دیگران احترام بگذارید، و برای نظرات و توصیه های سایر اعضا ارزش قائل شوید. فکر نکنید که کسی در نتیجه استفاده از کد سعی می کند "جیب های شما را انتخاب کند" و رهبری شما را بر مسیر توسعه پلت فرم به دست بگیرد.

به عنوان مثال، استراتژی سیستم‌های نرم‌افزار QNX این است که از مشارکت خود در Eclipse و در عین حال توسعه عملکردهای جدید از طریق نقاط توسعه استاندارد موجود در پلتفرم‌های Eclipse و CDT استفاده کند. برای این منظور، QNX قصد دارد به عنوان عضوی فعال در جامعه Eclipse باقی بماند و از پایگاه کد موجود و کار شخص ثالث (افزونه‌ها) برای کمک به رفع نیازهای واقعی مشتری با ایجاد برنامه‌های افزودنی اختصاصی خود بهره ببرد. استراتژی توصیف شده در شکل 1 نشان داده شده است. 2.

برنج. 2. شما می توانید با کار خود به کار جامعه کمک کنید.

خلاصه مزایا

پلتفرم ابزار مبتنی بر Eclipse هم برای توسعه دهندگان برنامه مانند QNX و هم برای مشتریانی که ابزارهای پلتفرم را خریداری می کنند، یک برد برد است.

مزیت توسعه دهندگان کاهش زمان عرضه محصولات خود به بازار و توانایی بهره مندی از تحقیقات دیگران (با هزینه کم) است. این نتایج ممکن است شامل کدهای با کیفیت بالا باشد که به عنوان "IP تمیز" از شرکت های معتبری مانند IBM و QNX طبقه بندی شده اند. مزیت دیگر برای توسعه دهنده این است که او یک طرح مجوز ساده و واضح را دریافت می کند، از جمله حقوق تجاری و حمایت از حق اختراع. علاوه بر این، توسعه‌دهنده این فرصت را به دست می‌آورد که بر روی پلتفرم‌های سیستم‌عامل متعددی که در Eclipse پشتیبانی می‌شوند کار کند، و همچنین در پروژه Eclipse نقاط توسعه مشخصی را در اختیار دارد.

مشتریانی که یک IDE مبتنی بر Eclipse را خریداری می کنند از یک پلت فرم ابزار طراحی شده برای توسعه برنامه های کاربردی تعبیه شده، با پشتیبانی قوی از کامپایل متقابل، اشکال زدایی آسان و برنامه های افزودنی برای مدیریت سیستم های هدف بهره می برند. تیم توسعه مشتری از بسیاری از ویژگی‌هایی که کار را آسان‌تر می‌کنند، زمان آموزشی کوتاه مورد نیاز، عملکرد خوب محصول، و پلتفرم قوی که می‌تواند پروژه‌های بزرگ را انجام دهد، قدردانی خواهد کرد. مشتریان همچنین می توانند از استفاده از پلتفرم Eclipse در برنامه های خود (مانند RCP، eRCP و غیره) بهره مند شوند.

آینده شرکت Eclipse

Eclipse Corporation یک انجمن فعال و پر جنب و جوش است. به طور مستمر پروژه‌های جدید را معرفی می‌کند، معماری‌های جدید را در اختیار شرکت‌های نوآور و تاسیس قرار می‌دهد، و حتی شرکت‌های کوچک می‌توانند با ایجاد مقرون‌به‌صرفه پلاگین‌های جدید که عملکرد موجود را گسترش می‌دهند، از نظر تجاری از پلتفرم Eclipse بهره‌مند شوند (شکل 3).

برنج. 3. Eclipse Corporation یک جامعه پر جنب و جوش و به سرعت در حال رشد از توسعه دهندگان پلاگین است.

مقایسه مجوزهای منبع باز

همه مجوزهای نرم افزار منبع باز برابر نیستند. QNX با استفاده از مجوز عمومی Eclipse یک حرکت هوشمندانه انجام داد. این انتخاب تا حدی به دلیل نیازهای مشتریان تعبیه شده آن و تا حدی به دلیل تمایل به کنترل (و بهره مندی از) فناوری است که محصولات آن را متمایز می کند.

سازمان غیرانتفاعی Open Source Initiative () یک تعریف مفید 10 نقطه ای از منبع باز ارائه کرده است. در حال حاضر بیش از 50 مجوز OSI از جمله مجوز عمومی Eclipse در وب سایت موجود است. این مجوزها ممکن است دارای تفاوت های قابل توجهی باشند که باید از آنها آگاه باشید. این تفاوت ها می تواند تأثیر قابل توجهی بر مالکیت معنوی (IP) توسعه دهندگان و توانایی آنها برای محافظت از آن داشته باشد. این بیشتر در هنگام استفاده از کد منبع باز (یا مشتقات منبع باز) در دستگاه های تعبیه شده مرتبط است.

مجوز دفاعی و غیر دفاعی

تحت شرایط یک مجوز حفاظتی، مانند GPL v2، آثار مشتق شده فقط می‌توانند همراه با کد منبع مربوطه توزیع شوند. مجوز امنیتی تضمین می‌کند که وقتی کد منبع منبع باز می‌شود، در تمام نسل‌های بعدی و آثار مشتق شده، منبع باز باقی می‌ماند. همانطور که در ادامه توضیح خواهیم داد، این نیاز به مشکلات خاصی در مورد سیستم های تعبیه شده منجر می شود.

نمونه هایی از مجوزهای غیر دفاعی، مجوزهای اصلی MIT و BSD هستند. مجوزهای غیر دفاعی حق چاپ مالک را حفظ می کنند، اما حقوق گسترده ای را برای کاربر فراهم می کنند، از جمله حق تغییر و توزیع رایگان (یا استفاده شخصی) بدون محدودیت از نرم افزار.

منظور از "مجوز ویروس" چیست؟

برخی از مردم GPL را "مجوز ویروس" می نامند. این نام به دلیل نامشخص بودن تعریف حقوقی مفهوم «توسعه مشتق» به وجود آمد. یک تفسیر دقیق از تعریف به این معنی است که اگر حتی یک قطعه کوچک از کد دارای مجوز GPL در یک برنامه اختصاصی تعبیه شده باشد، کل برنامه باید به عنوان GPL مجوز داشته باشد. تشبیه با یک ویروس بلافاصله به ذهن می رسد.

سوالات در مورد دریافت غرامت

اخیرا، غرامت IP (IP Indemnification) به موضوع اصلی بحث برای توسعه دهندگان تبدیل شده است. در پاسخ، برخی از فروشندگان منبع باز اعلام کرده اند که از مشتریان در برابر دعاوی حقوقی مربوط به نقض حق چاپ یا حق چاپ محافظت می کنند. و جدیدترین مجوزهای منبع باز مجازات هایی را برای کاربرانی که سعی می کنند حق ثبت اختراع خود را علیه سایر کاربران پایگاه کد اعمال کنند، در نظر می گیرند.

مشکلات اصلی در هنگام تجاری سازی نرم افزار منبع باز

مقایسه کاربردهای تعبیه شده و فناوری اطلاعات

موفقیت صنعت منبع باز با پذیرش لینوکس توسط سازمان های فناوری اطلاعات تقویت شده است. مزایای استفاده از لینوکس ناشی از اجرای بر روی سخت افزار نسبتاً همگن و پایدار (معمولاً خانواده x86) و استفاده از یک پلت فرم محاسباتی منعطف و غنی از منابع است.

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

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

علاوه بر این، محصولات تعبیه شده اغلب دارای طول عمر طولانی، هم در حین تولید و هم در هنگام استفاده هستند. یک محصول جاسازی شده که مشمول شرایط منبع باز است در معرض خطرات بیشتری است، از جمله عدم پشتیبانی فنی طولانی مدت، مسائل امنیتی احتمالی، و نقض IP.

مسائل مربوط به صدور مجوز

وضعیت حقوقی نامشخص

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

برخی از راه‌حل‌هایی که به فروشندگان محصولات تجاری اجازه می‌دهند درایورهای «اختصاصی» را به لینوکس معرفی کنند (مانند ماژول‌های هسته قابل بارگیری) بیشتر بر استدلال‌های «او گفت، او گفت» تکیه می‌کنند تا اشاره مستقیم به متن قرارداد مجوز. در واقع، چنین درایورهایی که از ماژول های LKM استفاده می کنند، مملو از دور زدن خطرناک الزامات مجوز GPL هستند. برای افراط کردن، می‌توان موضوع را اینگونه تفسیر کرد که پایگاه کد لینوکس می‌تواند برای اکثر برنامه‌های کاربردی بی‌فایده ارائه شود، مگر اینکه شامل برخی از این درایورهای اختصاصی باشد. این وضعیت می تواند به طور موثر ایده مجوز GPL را بی ارزش کند.

هیچ غرامتی برای نقض IP وجود ندارد

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

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

تلاش مضاعف برای حفظ IP

برای استفاده از کد منبع باز، یک شرکت باید تلاش زیادی را در زمینه های زیر انجام دهد:

  • مدیریت توزیع محصول؛
  • مدیریت مجوز؛
  • حل تعارضات حقوقی در مورد تعهدات مشتری؛
  • توجه به مسائل حقوقی: حفظ خلوص حقوق IP، بررسی حقوق IP برای کد منبع باز، شناسایی منبع مبدا کد، ردیابی تغییرات نسخه های مجوز مانند GPL v3 و غیره.

پذیرش نیازهای مشتری

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

مسائل IP

آیا شرایط مجوز منبع باز شما شامل مالکیت معنوی است که محصول شما را متفاوت می کند؟ اگر چنین است، IP شما در معرض خطر است.

اگر سیستم‌های تعبیه‌شده شما از ترکیبی از نرم‌افزار خود و نرم‌افزار منبع باز استفاده می‌کنند، باید ماهیت، ریشه‌ها و روابط همه اجزای نرم‌افزار تعبیه‌شده را بدانید. بدون این درک عمیق از موضوع، می توانید به طور ناخواسته به IP شخص دیگری تجاوز کنید یا حتی حقوق نرم افزار خود را از دست بدهید.

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

همانطور که QNX Momentics IDE نشان می دهد، مزایای فوری بسیاری برای نرم افزار منبع باز وجود دارد، از جمله کاهش زمان ورود به بازار، هزینه های توسعه کمتر و آزادی بیشتر برای افزودن قابلیت ها و نوآوری های اضافی به محصول شما. اگر نرم‌افزار خود را به‌عنوان خدماتی ارائه می‌دهید که برخی از مشکلات مشتری را حل می‌کند، پس مشتری اهمیتی نمی‌دهد که از نرم‌افزار منبع باز استفاده کرده‌اید یا نه، او فقط برای عملکرد مورد نیازش هزینه می‌پردازد.

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

استفاده از کد منبع باز در دستگاه های تعبیه شده منجر به مشکلات پیچیده تری نسبت به استفاده از چنین نرم افزارهایی در برنامه های فناوری اطلاعات می شود، زیرا گزینه اول خطرناک تر است. قبل از تصمیم به استفاده از هر نرم افزار منبع باز، هزینه واقعی مالکیت آن (TTCO) و مناسب بودن آن برای پروژه خود را در نظر بگیرید.

در نهایت، به جامعه متن باز کاربران و توسعه دهندگان بپیوندید تا بیشترین بهره را ببرید!

نرم افزار منبع باز طرفداران خود را دارد و اخیراً وقتی صحبت از توسعه برخی از محصولات "ملی" می شود، بیشتر به معنای متن باز است. به طور متناقض، علاقه به این نوع نرم افزارها تحریفات و باورهای غلط زیادی را به وجود آورده است که در عمل از گسترش آن جلوگیری می کند.

شرکت ما از سال 2005 در پروژه‌های منبع باز مشارکت داشته است - هم از طریق توسعه راه‌حل‌های منبع باز خودمان (پروژه‌های OpenVZ، CRIU)، شرکت در سایر پروژه‌های باز (QEMU، OpenStack، libvirt، libcontainer و غیره). در طول 10 سال، ما برخی از رایج ترین افسانه ها را در مورد نرم افزار منبع باز جمع آوری کرده ایم. من در مورد هر یک از باورهای غلط به شما می گویم و دلیل اشتباه آنها را توضیح می دهم. مطمئناً همین تعداد را به خاطر خواهید آورد، اما به نظر من این پنج نفر "جهنمی ترین" هستند.


پروژه متن باز یک پروژه متن باز است.

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

کیفیت نرم افزار منبع باز بدتر است زیرا هر کسی می تواند برای آن کد بنویسد

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

علاوه بر این، در برخی از جوامع (به عنوان مثال، جامعه پیرامون توسعه هسته لینوکس) یک اصل دقیق وجود دارد - فقط بهترین، آزمایش شده و کد ایده آل در هسته منبع پذیرفته می شود. تلاش برای اضافه کردن تغییرات با کیفیت پایین رد خواهد شد؛ تلاش دوم مملو از از دست دادن شهرت برای شخص یا شرکت کننده است.

یعنی یک پروژه باز واقعاً به هر کسی امکان می دهد در کدنویسی شرکت کند اما در پروژه های جدی به دلیل بالا بودن آستانه ورود کد از افراد با تخصص ناکافی پذیرفته نمی شود.
اکثر شرکت های بزرگ فناوری اطلاعات (IBM، Google، Canonical، Parallels و غیره) دارای دپارتمان های کاملی هستند که در آن ها متخصصان برای کار بر روی پروژه های منبع باز حقوق می گیرند و بنابراین به طور غیر مستقیم روی محصولات شرکت کار می کنند.

همچنین شایان ذکر است که شرکت هایی که محصولاتی را بر اساس پروژه های متن باز توسعه می دهند، علاقه مند به بهبود کد پروژه های متن باز مورد استفاده خود در هنگام آزمایش هستند. بنابراین، تمام مشکلات شناسایی شده باید اصلاح شود و اطمینان حاصل شود که این اصلاح به شاخه اصلی پروژه اضافه شده است تا کمترین تفاوت ممکن در کد شما و کد پروژه باز وجود داشته باشد. محصولات ما از کدهای سایر پروژه‌های منبع باز استفاده می‌کنند، بنابراین مشکلات موجود در کد این پروژه‌ها را برطرف کرده و آنها را به بالادست ارسال می‌کنیم. این مورد در مورد آسیب‌پذیری‌ها در هسته RHEL بود: Red Hat به ولادیمیر داویدوف به دلیل کشف آسیب‌پذیری‌های جدی CVE-2014-0203 و CVE-2014-4483 در یکی از به‌روزرسانی‌های هسته RHEL6 اشاره کرد (به هر حال، مشکل دوم با استفاده از آن پیدا شد. یکی از تست های خودکار ما، با استفاده از پروژه تست لینوکس). واسیلی آورین برای کشف خطای CVE-2014-5045، دیمیتری موناکوف - برای CVE-2012-4508 تشکر کرد. حقیقت آزمایش خوب هسته لینوکس حتی توسط اندرو مورتون (این کیست؟) اشاره کرد: "من علاقه مند هستم. طی چند ماه گذشته، افراد @openvz.org دسته ای از اشکالات نامفهوم، اما جدی و نسبتا قدیمی را پیدا کرده اند (و رفع کرده اند). چگونه این اشکالات را کشف کردی؟»

خط پایین

در واقع، تمام افسانه های ذکر شده در بالا بیشتر در میان کاربرانی ایجاد می شود که یا به تازگی شروع به کار با نرم افزار OpenSource کرده اند یا اصلاً آن را امتحان نکرده اند. بهترین راه برای رهایی از تعصبات، شروع همکاری نزدیک با چنین تصمیماتی است.
ما اخیراً روند توسعه باز را برای نسخه جدید محصول خود Virtuozzo 7 اعلام کردیم. اگر شما نیز علاقه مند به ایجاد بهترین فناوری مجازی سازی کانتینر هستید، پس

تمام نرم افزارهای موجود در LiveCD و DVD نرم افزارهای رایگان و متن باز (رایگان و متن باز) هستند، به استثنای برخی موارد (Flash، Opera، Acrobat Reader و دیگران) که در مخزن غیر oss قرار دارند. وقتی صحبت می کنیم نرم افزار رایگان، منظور ماست آزادی نه قیمت.

نرم افزار رایگان چیست

جنبش نرم‌افزار آزاد توسط ریچارد ام. استالمن، که پروژه گنو (مخفف بازگشتی: GNU's Not Unix) را در سال 1984 تأسیس کرد، آغاز شد. یک سال بعد، او بنیاد نرم‌افزار آزاد را تأسیس کرد که به نام FSF نیز شناخته می‌شود.

نرم افزار رایگان را می توان به 4 "درجه آزادی" اصلی تقسیم کرد:

  • آزادی استفاده کنیدبرنامه ها به هر شکلی.(آزادی 0)
  • آزادی مطالعه اصول کاربرنامه و همچنین تطبیق آن با نیازهای شما (آزادی 1) این نیاز به دسترسی به کد منبع دارد.
  • آزادی توزیع نسخه هابرنامه ها. می توانید با همسایه به اشتراک بگذارید. (آزادی 2)
  • آزادی برنامه را بهبود بخشدو بهبودهایی را که به نفع کل جامعه انجام می دهید منتشر کنید (آزادی 3). این نیاز به دسترسی به کد منبع دارد.

نرم افزارهای غیر آزاد را نرم افزار اختصاصی می نامند. مهم است که اشتراک‌افزار و نرم‌افزار رایگان را با نرم‌افزار رایگان اشتباه نگیرید، آنها چیزهای متفاوتی هستند.

نرم افزار متن باز چیست؟

جنبش نرم افزار آزاد و متن باز در اوایل دهه 1990 با تاکید مردم بر مزایای فنی و اقتصادی منبع باز و مدل توسعه منبع باز نرم افزار آزاد آغاز شد. با این حال، مقدار کمی از کد نرم افزاری وجود دارد که توسط جامعه منبع باز به عنوان رایگان شناخته می شود، بنابراین اصطلاح FOSS (نرم افزار رایگان و متن باز) اغلب استفاده می شود. زیرا، به طور دقیق، مفاهیم "نرم افزار آزاد" و "نرم افزار منبع باز" آنطور که ممکن است تصور شود به هیچ وجه یکسان نیستند. به عنوان مثال، توافقنامه مجوز یک محصول نرم افزاری ممکن است به شما اجازه دهد کد منبع آن را بررسی کنید، اما شما را از ایجاد تغییرات در آن و/یا توزیع کپی از آن منع می کند. در این مورد، محصول منبع باز است، اما رایگان نیست.

مزایای استفاده از نرم افزار رایگان

نرم افزار رایگان به دلایل متعددی سودمند است که در زیر به موارد اصلی اشاره شده است.

تصحیح خطا

اگر یک محصول نرم افزاری رایگان باشد، این به شما این حق را می دهد که خطاهای موجود در آن را تصحیح کنید، و همچنین آن را مطابق با نیاز خود تغییر دهید. اگر برنامه اختصاصی است، نمی توانید به طور مستقل خطاهای موجود در آن را اصلاح کنید یا عملکرد را گسترش دهید. در این صورت مجبور خواهید بود با صاحب محصول نرم افزاری تماس بگیرید تا اصلاحات لازم را انجام داده و امکانات مورد نیاز خود را اضافه کنید. با این حال، هیچ تضمینی وجود ندارد که مالک این کار را انجام دهد.

اشتراک گذاری

نرم افزار رایگان به شما این حق را می دهد که نسخه هایی از آن را توزیع کنید، در نتیجه به دوستان خود کمک می کند تا از نرم افزار رایگان بدون دریافت مجوز استفاده کنند.

بدانید و کنترل کنید که برنامه چه کاری انجام می دهد و چگونه آن را انجام می دهد

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

مزایای فنی

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

مزایای اقتصادی

نرم افزار رایگان به شرکت ها این فرصت را می دهد تا هزینه نرم افزاری را که توسعه می دهند به اشتراک بگذارند. به عنوان مثال، Novell و RedHat در توسعه برنامه های مشابه با هم رقابت می کنند، اما در نتیجه به یکدیگر کمک می کنند. IBM و HP نیز رقبا هستند، اما آنها همچنین سهم قابل توجهی در توسعه هسته لینوکس داشته اند و از این طریق هزینه های توسعه را به اشتراک می گذارند. نرم افزار رایگان امکان بازار رقابتی برای پشتیبانی فنی را فراهم می کند و بنابراین کیفیت آن معمولاً بسیار بالا است. با نرم افزار اختصاصی، وضعیت دقیقا برعکس است: فقط شرکت توسعه به کد منبع دسترسی دارد و قادر به ارائه پشتیبانی فنی مناسب است و این نشان دهنده درجه ای از انحصار است. علاوه بر این، مزایای اقتصادی شامل هزینه خرید یک محصول نرم افزاری است. اگر رایگان است، می توانید یک نسخه از آن را یک بار از اینترنت دانلود کنید (یا آن را روی هارد خریداری کنید)، آن را روی هر تعداد کامپیوتر نصب کنید و برای مدت نامحدودی از آن استفاده کنید. اگر محصول انحصاری باشد، شرایط قرارداد مجوز ممکن است استفاده از محصول را بسیار محدود کند (مثلاً محدود کردن تعداد نصب و/یا زمان استفاده).

من برنامه نویس نیستم چرا باید به موارد بالا اهمیت بدهم؟

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

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

چه چیزی را می توان منبع باز در نظر گرفت؟

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

همه آشنا هستند مایکروسافت آفیس، آنالوگ آن اما با منبع باز است دفتر کار جمعی همکاران. مرورگرهای موزیلا فایرفاکس و گوگل کروم نیز نرم افزارهای متن باز هستند. محصولات مشابه زیادی وجود دارد، بسیاری از آنها از حجم زیادی نرم افزار استفاده می کنند و گمان نمی کنند که برخی از آنها می تواند یک برنامه منبع باز باشد.

ویژگی های منبع باز

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

مجوز نرم افزار منبع باز

مجوز چنین برنامه هایی نیز رایگان است. مطلقاً هیچ محدودیتی در کاربرد، اصلاح، توزیع، استفاده با سایر نرم افزارهای سازگار وجود ندارد. همچنین از نظر فناوری نسبت به سایر برنامه های موجود بی طرف است.

مزایا و معایب برنامه های منبع باز

برخلاف برنامه های دارای مجوز کلاسیک، آنها توسط گروهی از برنامه نویسان رایگان توسعه می یابند و به همین دلیل رایگان هستند.

دومین مزیت مهم این است که ما می توانیم داده های برنامه را ارتقا دهید. یک برنامه نویس خوب، با درک کد، می تواند گزینه های جدیدی را به برنامه اضافه کند یا عملکرد توابع موجود را بهبود بخشد. به عنوان مثال کاربر سیستم عامل مکنمی تواند سیستم عامل خود را تغییر دهد، بر خلاف لینوکس، که هر کس نه تنها می تواند به صلاحدید خود آن را سفارشی کند، بلکه هر عملکرد فردی را نیز اضافه می کند. در نتیجه، او یک محصول کاملاً جدید دریافت می کند که استفاده از آن بسیار راحت است. اگر برنامه به دست آمده واقعاً خوب باشد، می توان آن را ثبت اختراع کرد و حتی فروخت (!)

یکی دیگر از مزایای غیرقابل انکار برنامه ها محافظت از آنها در برابر ویروس ها است. تقریباً همه ویروس ها برای برنامه ها نوشته شده اند پنجره هاو بدافزار برای همان لینوکسمقدار ناچیزی بنابراین، احتمال ابتلا به ویروس با استفاده از یک سیستم عامل منبع باز بسیار کم است.

امروزه بسیاری از سازمان ها به سمت نرم افزارهای متن باز روی آورده اند. این به شما امکان می دهد هزینه ها را کاهش دهید و احتمال هک شدن سیستم را به حداقل برسانید.

اما همانطور که می دانید، هر مدالی دو طرف دارد، ما به شما خواهیم گفت در مورد معایب متن باز برنامه ها.

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

دومین نقطه ضعف دوباره به دلیل این واقعیت است که هر کسی می تواند کد برنامه را تغییر دهد. اغلب ممکن است دیدگاه افراد با هم مطابقت نداشته باشد و این باعث تعارض در اصلاح محصول می شود. این می تواند منجر به فروپاشی پروژه ای شود که بسیاری از افراد برای مدت طولانی روی آن کار کرده اند.

همچنین، برنامه های مخرب اغلب به عنوان کد منبع باز پنهان می شوند، و گاهی اوقات تشخیص آنها از نرم افزارهای واقعاً ایمن می تواند بسیار دشوار باشد.

علیرغم اینکه چنین برنامه هایی دارای معایبی هستند، کاربران بیشتری به آنها علاقه مند می شوند. امروزه محصولات بیشتری با کد منبع باز ایجاد می شوند. این بدان معناست که چنین برنامه هایی آینده دارند و ارزش توجه دارند.

بهترین مقالات در این زمینه