فصل اول: روش تولید و کاربردها: سیستم اجرای جمعی این نرمافزارها با مدلهای سنتی نرمافزارهای اختصاصی متفاوت است و رویکردی مشارکتی و تکرارشونده برای نوشتن کد دارد؛ به نحوی که همه میتوانند در مورد مراحل بعدی کار بحث و تبادل نظر کنند.
به گفته تورستن بهرنز، از موسسین انجمنDocument Foundation، مفهوم یک برنامه نرمافزاری مثل یک خودرو در کارخانه مراحل مختلفی را طی میکند؛ به خصوص در مورد پروژههای نرمافزاری آزاد که مشارکت جدی در آن وجود دارد و همه مراحل به صورت همزمان صورت میگیرد: برخی کد را مینویسند، برخی فایلهای دودویی را تولید میکنند، عدهای آن را تست میکنند و عده دیگر مراحل تکمیلی مانند نوشتن متون جانبی را انجام میدهند. در حالی که این کار ممکن است بینظم و آشفته به نظر برسد، اما در عمل اثربخشی بیشتری دارد. بنابراین پروژههای نرمافزاری آزاد موفق، باعث میشوند که افراد بتوانند در هر زمان و مکانی کار کنند.
عبارت «متن باز» فقط به معنی دسترسی به کد منبع نرم افزار نیست. مفهوم این نرمافزارها با معیارهای زیر تعریف میشود:
- بازتوزیع آزاد
مجوز تولید این نرمافزارها نباید به گونهای باشد که برای هیچ فردی هنگام فروش یا واگذاری نرمافزار محدودیت ایجاد کند. به عبارت دیگر، باید امکان توزیع آزاد نرمافزار بدون نیاز به حق امتیاز یا پرداختی برای فروش وجود داشته باشد.
- کد منبع
برنامه نرمافزار باید شامل کد منبع باشد و امکان توزیع این کد به هر شکلی باید وجود داشته باشد. اگر شکلی از یک محصول با کد منبع توزیع نمیشود، برنامهنویس باید بتواند با روشی که هزینه آن بیشتر از هزینه بازتولید نشود، به کد منبع دسترسی یابد؛ مثلا برنامه را بدون پرداخت هزینهای از اینترنت دانلود کند.
- انجام اصلاحات
مجوز نرمافزار باید امکان اصلاحات و انجام کارهای بعدی را به وجود آورد و نیز این امکان را به وجود آورد که برنامهها تحت همان شرایط برنامه اولیه و نرمافزار اصلی تکثیر شوند.
- حفظ امانت و تمامیت نویسنده کد منبع
مجوز نرمافزار باید به صراحت امکان توزیع نرمافزار ایجادشده از کد منبع اصلاح شده را به وجود آورد. همچنین ممکن است این مجوز نیازمند کارهای اصلاحی برای انتقال یک نام یا نسخه متفاوت از نرمافزار اصلی باشد.
- عدم تبعیض علیه اشخاص
مجوز نرمافزار نباید علیه هیچ شخص یا گروهی تبعیض قائل شود.
- عدم تبعیض علیه زمینههای فعالیتی
هیچ شخصی نباید به دلیل استفاده از برنامه در یک حوزه خاص محدود شود. به عنوان مثال نباید بین فردی که از این برنامه در حوزه کسبوکار استفاده میکند با شخصی که در حوزه تحقیقات ژنتیکی از آن استفاده میکند، تمایز قائل شد.
- توزیع مجوز
حقوق ضمیمهشده به برنامه، باید برای هر کسی که این برنامه به دست او رسیده کاربرد داشته باشد، بدون اینکه نیاز باشد مجوزی اضافی به اجرا درآید.
- مجوز نباید مختص یک کالای خاص باشد
حقوق ضمیمه شده به برنامه نباید وابسته به برنامهای باشد که جزوی از یک توزیع نرمافزاری خاص است. اگر برنامه از آن شبکه توزیع خارج شده باشد و طبق شرایط مجوز برنامه مورد استفاده قرار بگیرد، کلیه افرادی که برنامه به آنها بازتوزیع شده، باید از حقوق یکسان برخوردار باشند.
- مجوز نباید نرم افزار دیگری را محدود کند
مجوز نرمافزار نباید برای نرمافزار دیگری که همراه با نرمافزار مجوزدار توزیع شده، محدودیت ایجاد کند.
- مجوز باید در برابر تکنولوژی خنثی باشد
هیچ یک از مفاد مجوز نباید مبتنی بر هیچ تکنولوژی واحد یا شیوه ارتباطی باشد.