حساب کاربری ندارید؟ ثبت نام کنید

آشنایی با مفاهیم نرم‌افزار آزاد و متن باز

نوشته

9 سال قبل | 6 دیدگاه | ترنجی

شاید برای شما سوال پیش‌آمده باشد که نرم افزار آزاد به چه معناست؟ گنو چیست؟ چرا می‌گوییم گنو/لینوکس؟ و … در این پست قصد داریم شما عزیزان را با مفاهیم کلی آشنا کنیم پس با ترنجی همراه باشید.

قبل از هر چیز نگاهی بر تاریخچه‌ی گنو/لینوکس داشته باشیم. در دنیای امروز، سیستم‌عامل‌های آزاد مفاهیم جدیدی برای دنیای رایانه‌ها نیست. در این میان می‌توان به نسخه‌های دانشگاهی سیستم‌عامل یونیکس مانند FreeBSD اشاره نمود. در سال ۱۹۹۱ یک دانشجوی رشته کامپیوتر از دانشگاه هلسینکی فنلاند، به نام لینوس توروالدز(‫‪Linus Torvalds‬‬) اعلام کرد که یک هسته آزمایشی سیستم‌عامل مشابه یونیکس، مسوم به MINIX ایجاد کرده است. این هسته بعدا لینوکس (LINUX) نام گرفت. توروالدز طراحی مشابه یونیکس را به دلیل شهرت یونیکس در پایداری، طراحی صحیح و قابلیت‌های آن برگزید.

maxresdefault

در آن زمان این هسته(لینوکس) برای کار بر‌روی پردازنده‌های ۳۸۶ اینتل طراحی شد بود. که آن را محدود ساخته بود. در حالی که یونیکس مستقل عمل می‌کرد.یعنی یونیکس را می‌توان بر روی هر سخت‌افزاری اجرا نمود. با این حال توروالدز تسلیم نشد و به کار خود ادامه داد. تلاش‌های او باعث هدایتش به نرم‌افزارهای آزاد شد. که در این بین طراحان و باقی مهندسان نیز شروع به کمک و توسعه این هسته (لینوکس) کردند.

کاربران علاقه‌مند به پروژه‌ی گنو شروع به استفاده‌ی هسته‌ی لینوس توروالدز به‌همراه ابزار‌های گنو کردند. که این منجر به تولید سیستم عامل گنو/لینوکس (Gnu/Linux) شد. پس اگر بخواهیم به سیستم‌عامل اشاره کنیم، باید بگوییم گنو/لینوکس، نه لینوکس.

GNU-Linux_logoرویای ریچارد استالمن (Richard Stallman) بنیان‌گذار نرم‌افزار آزاد، برای داشتن یک سیستم‌عامل آزاد و غیر تجاری با آمدن لینوکس محقق شد.

Richard-Stallman

 

فرهنگ استفاده از نرم‌افزار آزاد و متن باز:

بنیاد نرم‌افزار آزاد بر این اعتقاد است که نرم‌افزار باید آزاد در اختیار همگان باشد. این آزادی به مفهوم باز بون کد منبع نیز می‌شود. این بنیاد با ایجاد مجوز GPL که مخفف Gnu General Public License می‌باشد، اشتراک نرم‌افزارهای آزاد را توسعه بخشید. هدف از ارائه‌ی کد منبع، قادر ساختن برنامه نویسان برای ایجاد تغییرات در کد منبع می‌باشد. بنابر‌این مجوز، هیچ نرم‌افزاری که تحت این مجوز ارائه می‌شود، نمی‌تواند فاقد کد منبع باشد. به بیان دیگر کد منبع باید همراه برنامه ارائه شود. همراه بودن کد منبع این امکان را به جامعه‌ی متن‌باز می‌دهد، که بتواند نقطه ضعف‌ها و نکات امنیتی موجود را در نرم‌افزار به سرعت پیدا کنند. پس نرم‌افزارهای آزاد بدون اشکال و ایمن خواهند ماند. در طرفی ممکن است یک حفره‌ی امنتی و یک باگ در یک نرم‌افزار متن بسته هفته‌ها و یا ماه‌ها طول بکشد تا رفع شود، اما در گنو‌/لینوکس رفع مشکلات شاید در چند روز و یا چند ساعت برطرف شود.

IT-security-lg

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

GPL-Free-Software

 

شرایط لازم برای آزاد بودن یک نرم افزار:

یک نرم‌افزار باید چه شرایطی داشته باشد تا آزاد تلقی شود؟

در نرم‌افزار آزاد، موضوع آزادی است نه قیمت. نرم‌افزار آزاد در مورد آزادی کاربران برای تغییر، کپی، انتشار و بررسی کدها و از همه مهم‌تر بهبود کدها می‌باشد. بطور دقیق‌تر نرم‌افزار آزاد به چهار نوع ‌آزادی برای کاربران یک نرم‌افزار اشاره می‌کند.

۱- (آزادی صفر) آزادی برای اجرای برنامه برای هر منظور

۲- (آزادی یک) آزادی برای مطالعه و بررسی و چگونگی عملکرد برنامه و تغییر آن برای مطابقت با نیاز خود.

۳- (آزادی دو)آزادی برای توزیع مجدد کپی‌هایی از آن

۴- (آزادی سه) آزادی برای بهبود برنامه و انتشار مجدد این تغییرات برای عموم(دسترسی به کد منبع یک پیش شرط برای این آزادی می‌باشد.)

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

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

opensource-logo

 

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

meditate_fel

نظر شما چیست؟ آیا تابحال از نرم‌افزارهای آزاد استفاده کرده‌اید؟ در بخش نظرات میزبان شما هستیم.

اشتراک در
اطلاع از
6 Comments
قدیمی‌ترین
تازه‌ترین بیشترین رأی
بازخورد (Feedback) های اینلاین
مشاهده همه دیدگاه ها
relsi1053

از نظر من لینوکس فوق العادست
اما گنو/لینوکس , باز گذاشتن در گاوصندوقه برنامه نویساست !

Hani Shams

دوست عزیز کسی به اجبار کدش رو در اختیار کسی نمیزاره هر تعاملی و اشتراک گذاری هست با رضایت توسعه دهنده هستش
پس اینطوری خوبه که یه شرکتی بیاد BSD رو به اسم خودش تغییر بده یه اسم داروین رو هم بزاره روی کرنلش ، بعد هم سورساشو ببنده ؟
اتفاقا به نظر من بهترین مزیت GPL همین حمایتش از حقوق مولفه

Ari khan

یه سوال:یعنی الان ما سیستم عاملی به نام گنولینوکس داریم؟؟؟؟ :scratch:

violat

آقای مرادی عزیز پس افرادی که نرم افزار متن باز ارائه میدهند و رایگان در اختیار دیگران قرار می دهند چه سودی براشون داره و چطوری کسب درامد میکنن؟

رپورتاژ آگهی پربازده
رپورتاژ آگهی پربازده
محمد امین قاضی مرادی