من بعد از خوندن این تاپیک, چند تا سوال برام پیش اومد که اگه فکر می کنید تاپیک از بحث اصلی منحرف می شه, یه موضوع جدید باز می کنم.
این لایسنس ها چی هستن؟
برنامه با لایسنس GPL بیرون دادن یعنی چی؟
در ضمن اگه می شه یه منبع خوب برای به کسب اطلاعات درباره ی این ها بذارید.
لایسنس یا License یا مجوز یک نرمافزار، قرارداد یا توافقنامهای هست که توسط سازنده(های) اون نرمافزار نوشته شده و هر کسی که بخواد از این نرمافزار استفاده کنه باید اون توافقنامه رو بپذیره. این لایسنس نرمافزار هست که تعیین میکنه که استفادهکنندهها چه آزادیهایی در استفاده از نرمافزار دارن و چه آزادیهایی ندارن، مثلاً میتونن کپی کنن یا نه. میتونن به سورس کدش دسترسی پیدا کنن یا نه. اگر بله میتونن سورس کدش رو تغییر بدن و دوباره منتشر کنن. و آیا در اینصورت میتونن اون رو بصورت غیراوپنسورس منتشر کنن یا نه. و...
این مجوز نرمافزار هست که مشخص میکنه نرمافزار اوپنسورس هست یا غیراوپن سورس. آزاد هست یا نه(انحصاری یا اختصاصی یا propritary هست). هر نرمافزار آزاد، حتماً اوپنسورس هست. اما عکسش لزوماً درست نیست. ولی امروز تقریباً همهٔ نرمافزارهای اوپنسورس، آزاد هم هستن. البته اوپنسورس بودن نرمافزار فقط به معنای در دسترس بودن سورسکدش نیست. طبق تعریفی که شده تقریباً با مفهوم آزاد بون یکی هست(تقریباً).
http://www.opensource.org/docs/definition.phpبه هر حال مهم آزاد بودن نرمافزار هست.
نرمافزار آزاد، طبق تعریف بنیاد نرمافزارهای آزاد، به نرمافزاری گفته میشه که هر کاربر حداقل چهار آزادی رو در مورد اون نرمافزار داشته باشه. یک مجوز(لایسنس) آزاد هم به مجوزی گفته میشه که این چهار آزادی رو به هر کاربر بده. ای چهار آزادی:
آزادی صفر: آزادی برای اجرای برنامه، هر طور که خودتان بخواهید.
آزادی یک: آزادی برای مطالعهٔ کد منبع برنامه و تغییر آن، تا آنچه را که شما میخواهید انجام دهد.
آزادی دو: آزادی برای کمک به همسایه(اطرافیان) خود، یعنی آزادی برای توزیع کپیهای دقیق(بدون تغییر) و یا انتشار مجدد آن، هر زمان که خودتان بخواهید. و...
آزادی سه: که آزادی برای کمک به(همکاری با) جامعهٔ خود است، آزادی برای توزیع کپیهایی از نسخههای تغییریافتهٔ خودتان، و یا انتشار مجدد آن، هر زمان که خودتان بخواهید.
مجوزهای زیادی هستن که مجوز آزاد محسوب میشه(و نرم افزار تحت این مجوزها نرمافزار آزاد محسوب میشه) مثل مجوز GPL وLGPL و BSD و Apache و... اما تفاوت اصلی بین GPL و سایر مجوزهای آزاد اینه که GPL میخواد آزادی رو برای کاربر تضمین کنه. یعنی نشه نرمافزار آزاد رو با کمی تغییر، بصورت غیرآزاد منتشر کرد. پیشنهاد میکنم این مقاله رو بخونید:
http://www.technotux.org/html/PNphpBB2-viewtopic-t-16635.html