آموزشلینوکس

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

What is Open Source Software?

در این آموزش قصد داریم شما رو با مفهوم «نرم‌افزار متن‌باز» به انگلیسی (Open Source Software OSS) آشنا کنیم اما قبل از اینکه وارد بحث بشیم، نیازه که چند تا تعریف و مفهوم رو بررسی کنیم.

تعریف سورس کد (کد منبع)

در بحث توسعه نرم‌افزار، مفهومی تحت عنوان «کد منبع» و به انگلیسی Source Code وجود داره که به اختصار به اون سورس (Source) میگن. اما این Source به چه معناست؟

سورس یک برنامه (Program) یا بصورت پیشرفته‌تر در یک نرم‌افزار (Software)، مجموعه کدهایی رو شامل میشه که توسط انسان با یک زبان برنامه‌نویسی مثل زبان C یا پایتون و… نوشته شدند و در نهایت فایل خروجی رو بصورت اجرایی برای استفاده عموم مردم ایجاد کردند.

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

یک فایل سورس در محیط‌های برنامه‌نویسی چیزی شبیه تصویر زیر خواهد بود:

نرم‌افزار متن‌باز

و فایل اجرایی همون چیزیه که ما ازش بعنوان نرم‌افزار در کامپیوتر استفاده می‌کنیم. معمولاً این فایل، در ویندوز با پسوند exe ارائه میشه که فقط کافیه اون رو نصبش کنیم و ازش استفاده کنیم. مطمئنا این کار رو از من بهتر بلدید و نیازی به توضیح اون نیست. 🙂

نرم‌افزارهای مختلفی مثل مایکروسافت آفیس، فتوشاپ، و…

ولی نکته اینجاست که شرکت‌های نرم‌افزاری تا چندین سال پیش، فایل سورس خودشون رو به هیچ عنوان به کاربران ارائه نمی‌کردند و فقط فایل اجرایی رو بهشون میدادند. این کار برای این بود که کسی نتونه کدهای اونا رو دستکاری کنه و از نرم‌افزارشون (با تغییر سورس کد) استفاده تجاری کنه و اون رو بفروشه.

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

ناگفته نمونه که از این جهت نرم‌افزارهای Close Source، سورس کد رو تحت انحصار خودشون قرار میدن و اون رو به کاربر نمیدن، «نرم‌افزارهای انحصاری» هم نامیده میشن.

اینجا بود که مفهومی تحت عنوان متن‌باز (Open Source) به‌ وجود اومد.

نرم‌افزار متن‌باز

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

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

به عبارت ساده‌تر در نرم‌افزار متن‌باز، سورس کد به‌عنوان بخشی از نرم‌افزار به کاربر ارائه میشه و اگر اون کاربر برنامه‌نویسی بلد باشه می‌تونه نرم‌افزار رو با تغییر و اضافه کردن ویژگی‌هایی که دلش میخواد بهبود بده.

همونطور که عنوان شد Microsoft Office و Adobe Photoshop نمونه‌هایی از نرم‌افزار انحصاری هستند و در نقطه مقابل LibreOffice و GIMP نمونه‌هایی از نرم افزار متن‌باز محسوب میشن.

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

امیدوارم این آموزش براتون مفید بوده باشه و خیلی خوشحال میشم که نظرات خودتون رو در پایین این مطلب بنویسید.

 

نرم‌افزار متن‌باز چیست؟
5 (100%) 2 votes
منابع
opensourceJUSTIT
تگ‎ها

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

تائید دیدگاه فعال است. دیدگاه شما ممکن است کمی طول بکشد تا ظاهر شود.

دکمه بازگشت به بالا