جستجو در تالارهای گفتگو
در حال نمایش نتایج برای برچسب های 'منبعباز'.
3 نتیجه پیدا شد
-
با توجه به اینکه اکثر طراحان و توسعه دهندگان نرمافزارها دید روشنی از تفاوت گواهینامههای متعدد متن باز ندارند در این مقاله ما به ویژگیها و شرایط هر یک از آنها اشاره کردهایم که به شما یک شفاف سازی سریع در رابطه با اینکه کدام مجوز مناسب محصول شما به صورت منبعباز خواهد بود را ارائه میکند. قبل از هر چیز در زیر لیستی از انواع مجوزهای منبع باز را در نظر بگیرید: Apache License 2.0 BSD 3-Clause “New” or “Revised” license BSD 2-Clause “Simplified” or “FreeBSD” license GNU General Public License (GPL) v3.0 GNU Library or “Lesser” General Public License (LGPL) MIT license Mozilla Public License 2.0 Creative Commons License مجوز APACHE LICENSE حقوق موجود در مجوز آپاچی نسخه ۲.۰ را میتوان برای مقوله کپی رایت یا پتنت استفاده کرد (البته برخی مجوزها را تنها میتوان روی کپی رایت اعمال کرد و برای پتنتها مورد استفاده قرار نمیگیرند). به طور کلی، بخشی از جزئیات مجوز آپاچی به شرح زیر است: حقوق هیچگاه به اتمام نمیرسد: وقتی حقوقی تحت مجوز آپاچی ارائه شود، دیگر نیازی به تکرار مجوز برای آن نیست و همیشه میتوانید تحت همین مجوز از آنها استفاده کنید. نفوذ جهانی: حتی اگر حقوقی در یک کشور عرضه شود، به صورت خودکار در همه کشورها قابل استفاده میشود. عرضه رایگان یا دریافت حق امتیاز: بدون هزینه، هزینه بر مبنای استفاده یا هر نوع دیگری اجرایی است. حقوق غیرقابل فسخ است: هیچکس نمیتواند ادعا کند که کار مشتق شده شما از سورس کدی که تحت این مجوز عرضه شده را دیگر نمیتوانید استفاده کنید (عبارتی در این مجوز وجود دارد که بیان میکند اگر شما از فردی به خاطر نقض پتنت یا هر چیز دیگری تحت این لایسنس شکایت کنید، مجوز شما باطل میشود، اما این قضیه فقط به کارهای پتنت شده اختصاص دارد و تا وقتی که شما از کسی شکایت نکنید، نگرانی خاصی وجود ندارد). نمونهی مجوز Copyright [yyyy] [name of copyright owner] Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. مجوز BSD License مجوز BSD بخشی از خانواده مجوزهای نرم افزار آزاد است که در مقایسه با مجوزهای نرم افزاری دیگر، محدودیتهای کمتری درباره نحوه توزیع دارد که دو نسخه مهم آن عبارت است از: The New BSD License / The New Modified BSD License The Simplified BSD License / FreeBSD License هر دو به عنوان مجوزهای متن باز توسط Open Source Initiative پذیرفته شدهاند. مجوز New BSD که با نام «مجوز سه شرطی» نیز شناخته میشود، اجازه توزیع مجدد نامحدود را برای هر هدفی میدهد (البته تا وقتی که کپی رایت و رفع تعهدهای این مجوز برقرار باشند). این مجوز یک شرط جالب نیز دارا است به این شکل که استفاده از نام مشارکت کنندگان برای تأیید کارهای انجام شده در پروژه را بدون اجازه شخصی آنها ممنوع میکند. این تبصره در واقع به این معنی است که اگر کسی سورس کد توسعه دهنده شناخته شدهای را fork کرده باشد و تغییراتی را برای ساخت پروژه جدید در آن انجام داده باشد، نمیتواند از نام آن فرد مطرح برای تأیید و اعتبار بخشی به پروژه خود استفاده کند (در حقیقت، تفاوت اصلی میان نسخه جدید و نسخه ساده مجوز BSD در استفاده از این شرط است). نمونهی مجوز Copyright <YEAR> <COPYRIGHT HOLDER> Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. مجوز GNU با وجود این مجوز محدودیت خاصی برای کپی کردن کدها در پروژههایی که لایسنس GPL دارند وجود نداشته و میتوانید کدهای دارای این مجوز را به سادگی کپی کنید. همچنین، میتوانید آن را روی فلش یا هارد خود توزیع کنید یا کدها را در وب سایت خود با لینک دانلود و به همراه همین لایسنس منتشر کرده یا روی کاغذ پرینت کنید. در واقع، به هر شکلی که بخواهید میتوانید پروژههای دارای لایسنس GPL را توزیع کنید. میتوانید با این مجوز از مخاطب در قبال ارائه نرم افزار به او هزینه دریافت کنید ولی به خاطر داشته باشید که باید یک کپی از GNU GPL را نیز ارائه کنید که به آنها میگوید میتوانند نرم افزار را از جای دیگر بدون هزینه دریافت کنند (در کنار این کار، همچنین میتوانید دلیلی که به خاطر آن از مخاطب هزینه دریافت میکنید را نیز بیان کنید) اگر بخواهید تغییراتی در پروژه ایجاد کنید (اصطلاحاً آن را Fork کنید)، این امکان برای شما وجو دارد؛ به عبارت دیگر، ویژگیهایی که میخواهید را حذف و اضافه کنید اما تنها به شرطی که شما هم پروژهٔ خود را تحت مجوز GNU GPL ارائه کنید (همچنین این نکته اهمیت دارد که باید تفاوت بین سورس کد پروژه و توزیع باینری آن را بدانید؛ به این دلیل که محدودیتهایی در رابطه با هر کدام وجود دارد. همچنین، اگر پروژهای از GNU GPL استفاده میکند، باید با برخی قوانین استاندارد دربارهٔ کامنت گذاری بخشهای مختلف این مجوز درون سورس کد نیز مطابقت داشته باشد. مجوز GNU LESSER GENERAL PUBLIC LICENSE این لایسنس حقوق کمتری را برای استفاده در مقایسه با GNU GPL نیاز دارد و معمولاً در لایبرریها و پروژههایی استفاده میشود که قصد دارند اجازهٔ لینک شدن آنها را به نرم افزارهای بدون مجوز GPL و با سورس کد بسته نیز بدهند. در مورد مجوز GPL، هر پروژه و سورس کدی که در پروژهی تحت GPL عرضه میشود، خود نیز باید GPL باشد و کدهای تحت GPL نمیتواند در پروژههای اختصاصی مورد استفاده قرار بگیرند. LGPL این مورد را نادیده گرفته و نیاز به مجوز مشابه را برای استفاده از کدهای دارای LGPL از بین میبرد (به عبارت دیگر، نسبت به GPL آزادی بیشتری در اختیار توسعه دهندگان قرار میدهد). نمونهی مجوز <one line to give the program's name and a brief idea of what it does.> Copyright (C) <year> <name of author> This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. مجوز MIT LICENSE این مجوز، کوتاهترین و احتمالاً پراستفادهترین مورد بین تمامی لایسنسهای متن باز است زیرا شرایط آن آسان است و به اصطلاح از مجوزهای دیگر راحتتر عمل میکند. اگر بخواهیم ماهیت اصلی این لایسنس را شرح دهیم، بایستی بگوییم که به وسیله این مجوز، اجازه استفاده بدون هزینه به هر شخصی که یک کپی از سورس کد یا نرم افزار و مستندات مربوط به آن را دریافت کرده، داده میشود تا در آن نرم افزار بدون هیچگونه محدودیتی تغییرات خود را اِعمال کند که شامل استفاده بدون محدودیت، کپی، تغییر، ترکیب، انتشار، توزیع، استفاده بخشی از مجوز یا فروش کپیهایی از نرمافزار میشود و به افرادی که این نرم افزار برای آنها تهیه شده نیز در این موارد اجازه داده میشود به شرطی که ملاحظاتی که در بالا به آنها اشاره شد و همچنین معرفی این لایسنس را در تمامی کپیها یا بخشهای مهم این نرم افزار در معرض دید کاربران قرار دهند. با این مجوز در واقع اجازه استفاده، کپی و تغییر در نرم افزار را هر طوری که تمایل دارید خواهید داشت؛ هیچ کسی نمیتواند شما را از بکارگیری آن در پروژههای دیگر منع کند و میتوانید نرم افزار را تحت این مجوز به صورت رایگان یا از طریق فروش آن عرضه کنید. هیچ شرطی برای این توزیع به هیچ طریقی وجود نخواهد داشت و هر کسی میتواند هر تغییری را که میخواهد در کدهای تحت لیسانس MIT انجام دهد (البته مادامی که مجددا تحت این مجوز عرضه شوند). نمونهی مجوز The MIT License (MIT) Copyright (c) <year> <copyright holders> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. مجوز Mozilla Public License مجوز همگانی موزیلا (Mozilla Public License) یک مجوز نرم افزار آزاد مفصل است که توسط بنیاد موزیلا نوشته و نگهداری میشود. از این مجوز به عنوان مجوزی که هم ویژگیهای مجوز تغییر یافته BSD و هم ویژگیهای مجوز GPL را دارد، یاد میشود که سعی دارد مشکلات و نگرانیهای توسعه دهندگان نرم افزار آزاد و نرمافزار انحصاری را تعادل بخشد. این مجوز دو بار مورد بازبینی قرار گرفته است و در نسخه آخر آن یعنی نسخه ۲.۰، سعی شده تا سادگی مجوز حفظ شود و سازگاری بهتری با دیگر مجوزها داشته باشد. این مجوز که به اختصار به MPL هم گفته میشود، مجوزی است که در موزیلا فایرفاکس، موزیلا تاندربرد و بقیه نرم افزارهای بنیاد موزیلا مورد استفاده قرار میگیرد اما اخیراً دیگران هم به استفاده از این مجوز روی آوردهاند، همانند شرکت Adobe که از این مجوز برای نرم افزار ادوبی فلکس استفاده کرده و همچنین لیبرهآفیس که از این مجوز به همراه LGPL (نسخه ۳) استفاده میکند. شرکتهایی مانند سان مایکروسیستمز هم از نسخه ۱.۱ این مجوز برای نوشتن یک مجوز ترکیبی مثل مجوز توسعه و توزیع مشترک استفاده کردهاند. نمونهی مجوز /* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ # This Source Code Form is subject to the terms of the Mozilla Public # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at https://mozilla.org/MPL/2.0/. <!-- This Source Code Form is subject to the terms of the Mozilla Public - License, v. 2.0. If a copy of the MPL was not distributed with this - file, You can obtain one at https://mozilla.org/MPL/2.0/. --> This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at https://mozilla.org/MPL/2.0/. مجوز CREATIVE COMMONS مجوز Creative Commons که به اختصار CC گفته میشود، خیلی هم اپن سورس نبوده و به صورت معمول در پروژههای مربوط به طراحی استفاده میشود. انواع مختلفی از این نوع لایسنس وجود دارد که هر کدام برای موارد خاصی ایجاد شده که حق و حقوق معینی را اعطا میکنند، به طوری که یک مجوز CC دارای چهار بخش اساسی است که عبارت است از: اعتباربخشی: نویسنده (مؤسس) باید به عنوان خالق اثر نام برده شود؛ سپس میتوان آن را تغییر داد، توزیع کرد، کپی نمود و به صورت دیگری استفاده کرد. انتشار تحت مجوز کریتیو کامانز: میتوان اثر را تغییر داد و توزیع کرد ولی تنها تحت مجوز CC. غیرتجاری: یک اثر تحت این مجوز میتواند تغییر داده شود یا توزیع شود ولی نه برای اهداف تجاری (البته عبارت Commercial به معنی «تجاری» کمی مبهم است و هیچ تعریف مشخصی از آن ارائه نشده است) ممنوعیت اعمال تغییرات: میتوان اثر دارای چنین مجوزی را کپی کرده یا توزیع کرد، اما نمیتوانید آن را به هیچ صورت تغییر دهید یا اثری را براساس طرح اصلی ایجاد کنید. به خاطر داشته باشید که اینها قوانین الزامی موجود در همه مجوزهای مبتنی بر CC نیستند؛ برخی از مجوزهای CC ممکن است این شرطها را نداشته باشند، چرا که برخی از این شرطها دو به دو ناسازگار هستند و برخی میتوانند براساس نیاز با هم ترکیب شوند. نمونهی مجوز <WORK'S NAME> (c) by <AUTHOR'S NAME> <WORK'S NAME> is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License. You should have received a copy of the license along with this work. If not, see <http://creativecommons.org/licenses/by-sa/3.0/>.
-
با توجه به ویژگیهای موجود در مجوزهای مربوطه لازم است تا مقایسهای در رابطه با آنها صورت بگیرد که به آنها اشاره شده است. هزینهها منبعباز - Open Source نرمافزارهای متن باز رایگان هستند. این فرصتی بسیار خوب است مخصوصا برای کسانی که در خانه کار میکنند یا توان پرداخت هزینههای بالا را برای تهیه نرمافزارهای موردنیاز خود ندارند. باید توجه داشت که اغلب برای کار با نرم افزارهای متن باز کاربر باید سطح تخصص معینی جهت مدیریت محتوای آنها داشته باشد. بنابراین قبل از اینکه رایگان بودن شما را اغوا کند بهاین نکته توجه کنید که هزینههای آموزش کاربران، پیاده سازی، مسائل مربوط به خدمات و پشتیبانی و رشد و توسعه سازمان و بدست آوردن تخصص کار با نرمافزار متن باز موردنظر میتواند از هزینه ی خرید یک نرمافزار Closed Source بیشتر شود. منبعبسته - Closed Source هزینهی خرید نرمافزارهای اختصاصی (متن بسته) بسته به پیچیدگی نرمافزار از چند دلار تا چند میلیون دلار متغیر است. این هزینه شامل هزینههای اولیه ساخت، یکپارچه سازی، خدمات، مجوزها (licence) و هزینه های سالیانه میشود. این هزینه ها ممکن است برای برخی سنگین باشد، با این حال آنچه کاربر بابت بکارگیری اینگونه نرم افزرها می پردازد مجموعهای از مزایا شامل استفاده از یک نام تجاری معتبر و قابل اعتماد، سطوح بالاتری از امنیت و عملکرد، نوآوری مستمر، آموزش مستمر، پشتیبانی قابل اعتماد و نیاز کمتر به مهارتهای فنی میشود. این موارد میتواند در بلند مدت علاوه بر جبران هزینههای پرداخت شده، ارزش افزودهای نیز برای سازمان ایجاد کند. خدمات و پشتیبانی منبعباز: پشتیبانی و خدمات یکی از مسائل کلیدی در نرمافزارهای متن باز است. این نرمافزارها جهت پشتیبانی و ارائه خدمات به کاربران خود متکی به شبکههای اجتماعی آنلاین مانند انجمنها و وبلاگها هستند. جوامع و اطلاعات آنلاین بسیار عظیم و وفاداری که کاربران زیادی در آنها در حال فعالیت هستند. اما امروزه با توجه به کمبود زمان، مصرف کنندگان نیاز به خدمات و پشتیبانی فوری دارند تا مشکلاتشان در اسرع وقت حل و فصل شود. بنابراین این جوامع آنلاین نمیتواند به اندازهی کارشناسان آماده به پاسخگویی نرمافزارهای اختصاصی، پشتیبانی به موقع و سریع را تضمین نماید. منبعبسته: اگر اینترنت را مهمترین ابزار هر سازمان بدانیم. اغلب نرمافزار است که در درجهی دوم اهمیت قرار میگیرد. پس سطح سرویس دهی و پشتیبانی از نرمافزار جهت به حداقل رساندن خرابیها و مشکلات و همچنین افزایش بهره وری یکی از مهمترین مزیتهای نرمافزارهای اختصاصی (متن بسته) است. ارائه دهندگان نرمافزارهای اختصاصی یک نقطه کلیدی برای فروش نرمافزارهای خود دارند و آن حمایت مداوم از کاربرانی است که بدون داشتن مهارت فنی میتوانند بدون دلهره از نرمافزارهای آنها استفاده کنند. اگر کتابچه راهنمای نرمافزار(User Manual) کافی نباشد یا اینکه کابر در کار با نرمافزار با یک مشکل مواجه شود که تجربهی آنرا ندارد، آنگاه یک ویژگی مهم در نرمافزارهای اختصاصی برای حل این مشکل وجود دارد و آن هم قابلیت برقرای تماس فوری و در لحظه با سازندهی نرمافزار جهت حمایت و پشتیبانی است. از آنجا که خدمات و پشتیبانی سریع و به موقع یکی از دلایل اصلی کاربران برای انتخاب نرمافزارهای اختصاصی است، در نتیجه بسیاری از ارائه دهندگان نرمافزارهای اختصاصی به فکر افزایش سطح خدمات و سرعت پشتیبانی جهت بالا بردن قیمت و چانه زنی در فروش هستند. ابداع و نوآوری منبعباز: نرمافزارهای متن باز با ایجاد آزادی عمل و انعطاف پذیری فراوان این امکان را به کاربران میدهند تا بتوانند بدون محدودیت به نوآری و ابداع های جدید دست بزنند. با این حال، نوآوری ایجاد شده توسط کابر برای اینکه توسط سایر کاربران همان نرمافزار قابل استفاده باشد بستگی به تصمیم ابداع کننده دارد که آیا میخواهد نوآوری خود را بوسیله جوامع آنلاین با کاربران دیگر به اشتراک بگذارد یا نه. پس نوآوری و ابداع در این دسته از نرمافزارها (متن باز) وابستگی شدیدی به میزان فعال بودن کاربران آنها در جوامع آنلاین دارد. همچنین این بحث وجود دارد که شخصی سازی های انجام شده بر روی کد منبع اصلی ممکن است آینده پشتیبانی و توسعه نرمافزار را محدود کند. پس عملا ابداعات و نوآوریهای فراوان انجام شده توسط کاربران مختلف به علت گستردگی و عدم کنترل مرکزی و مدیریت قدرتمند نتیجتاً به مجموعهای محدود شامل رفع مشکل، بروزرسانی و بهبود عملکرد نرمافزار منجر می شود. یا حتی امکان دارد نرمافزار را به مرحلهای برساند که با یکسری مسائل غیرقابل حل روبرو کند. البته بهاین نکته توجه داشته باشید که امکان بوجود آمدن این مشکل بستگی مستقیم با تلاش ارائه دهندگان نرمافزارهای متن باز برای بزرگ کردن مقیاس R&D تشکیلاتشان دارد. منبعبسته: نرمافزارهای اختصاصی اجازه ی تغییر کد منبع را به کاربران خود نمیدهند. شاید این موضوع از دید برخی افراد یک نقطه ضعف به شمار بیاید اما همین مسئله باعث تضمین امنیت و قابل اطمینان بودن نرمافزار می شود.ر علاوه بر این برخی از ارائه دهندگان نرمافزارهای اختصاصی افزون بر سرمایه گذاری بر روی R&D جهت ارتقا و بهبود مستمر نرمافزار خود، برای مشتریان مخصوص نیز نرمافزارهای سفارشی شده با قابلیت انعطاف بیشتر را نیز ارائه میدهند. همچنین ارائه دهندگان نرمافزارهای اختصاصی با ایجاد جوامع آنلاین متمرکز که در آنها ایده های کاربران به اشتراک گذاشته می شود و همچنین استفاده از مکانیزم بازخورد انجمنها و نظرسنجیها میتوانند ایده ها و پیشنهادهای کاربران را با توجه به چهارچوب محصول، تبدیل به نوآوری های پرورش داده شده و منظم و قاعده مند کرده و آنرا جهت برآورده نمودن نیازهای آتی کاربران بکار گیرند. حال میتوان دریافت هرچند نوآوری های انجام شده در نرمافزارهای اختصاصی شاید کمتر از نرمافزارهای متن باز باشد اما خصوصیت و مزیت این نوع ابداعات این است که اولا بصورت کامل مورد آزمایش قرارگرفته و ثانیا در اختیار تمام کاربران نرمافزار قرار می گیرد. و از آنجا که ارائه دهندگان نرمافزارهای اختصاصی همیشه نگران این مسئله هستند که نرمافزارشان از کار برکنار شود، پس همیشه به فکر ارتقای نرمافزار و رفع شکلات بصورت مداوم و پیوسته خواهند بود و این بدان معناست که کاربر با خاطری آسوده منتظر رفع مشکلات و بهبود مستمر نرمافزار مورد استفاده ی خود است. پس تفاوت در نوآوری میان دو پلاتفرم در دیدی است که به نوآوری و ابداع می شود، زیرا در نرمافزارهای متن باز نوآوری بیشتر تکنیک محور است امادر نرمافزارهای اختصاصی(متن بسته) تجارت محور. قابلیت استفاده (Usability) منبعباز: ازنرمافزارهای متن باز به علت عدم قابلیت استفاده پذیری بسیار انتقاد شده است. بطور کلی این فناوری توسط کارشناسان متخصص در امر استفاده پذیری، بازبینی نشده است و برای اکثریت قریب به اتفاق کاربران کامپیوتر تهیه نشده است. این نوع نرمافزارها اکثرا برای کسانی بوجود می آیند که تخصص رفع خطا و یا تغییر کد ودستکاری آنها را داشته باشند. علاوه بر اینها، اینگونه نرمافزارها بصورت قانونی موظف به داشتن راهنمای کاربری نیستند. زمانی هم که مستنداتی ارائه شود اغلب شامل یکسری اصطلاحات مخصوص برای متخصصان خواهد بود. بدون مستندات کافی، کاربر باید بر جایگزین هایی مانند جوامع آنلاین تکیه کند با این فرض که یک نفر قبلا این مشکل را داشته و به او پاسخ داده شده، تا راهنمایی باشد برای یک نفر دیگر. این موانع بازدارنده است اما غیرقابل حل نیست. منبعبسته: نرمافزارهای اختصاصی بطور کلی زیر نظر کارشناسان متخصص جهت قابل استفاده بودن مورد تست و بررسی تخصصی قرار می گیرند و هدف نهایی کاربران هستند. در نتیجه طراحی نرمافزار بگونهای خواهد بود که کاربر را بیشتر ارضا کرده و استفاده پذیری آن بسیار بالا می رود. همچنین ارائه ی کتابچه راهنمای جامع و کامل محصول، آموزش استفاده محصول توسط کاربر را بسیار سریعتر و آسانتر می کند. خدمات حمایتی شامل سمینارها، دوره های آموزشی هدفمند و پشتیبانی گسترده نیز جهت به حداکثر رساندن استفاده پذیری نرمافزار وجود دارد. ذکر این نکته نیز بسیار مهم است که درحالی که بسیاری از مردم این نرمافزارها را بسته می بینند، ارائه دهندگان این نرمافزار ها ، مکانیزم وسیعی را جهت بهبود آنها توسط توسعه دهندگان و سیستم های third party در اختیار گذاشته اند. امنیت منبعباز: نرمافزارهای متن باز اغلب به داشتن مشکلات و مسائل امنیتی مشهور هستند. آمارهای جدید از تحقیقات فورستر نشان می دهد که ۵۸ درصد از مدیران IT و تصمیم گیرندگان در شرکتهای بزرگ در مورد امنیت نرمافزارهای متن باز تردید دارند. اینگونه نرمافزارها لزوما در یک محیط کنترل شده توسعه نیافته است و چون این نرمافزارها اغلب بصورت کامل بازبینی و تصحیح نمی شوند پس امکان اینکه یک برنامه نویس که در توسعه نرمافزار مشارکت داشته، کدی را در نرم افزار گنجانده باشد تا بوسیله ی آن بتواند از اطلاعات شما سوء استفاده نماید، وجود دارد. البته، بسیاری از افراد ترجیح میدهند از نرم افزارهای متن باز یا منبع باز (open source) استفاده کنند چون این نرم افزارها را امنتر و پایدارتر از نرم افزارهای اختصاصی (proprietary) مییابند. چون کد منبع آن توسط هرکسی قابل مشاهده بوده و از آنجا که تغییر در بخشهایی از ان مستلزم کسب اجازه از نویسنده اصلی نیست میتوان اشکالات یا خطاهای مشاهده شده را نیز رفع نمود. از آنجایی که معمولاً این نرم افزارها دارای جوامع برنامهنویسی بزرگی نسبت به تیمهای توسعهدهنده نرمافزارهای اختصاصی هستند لذا رفع اشکالات و خطاها نیز در آنها سرعتر انجام میشود. منبعبسته: نرمافزارهای اختصاصی امن تر است بهاین دلیل که در یک محیط کنترل شده توسط یک تیم متمرکز با مسیر مشترک توسعه یافته است. علاوه بر این بازبینی و تست کد منبع توسط این تیم خطر وجود back door ها و هرگونه اشکالات را بشدت کاهش می دهد. نتیجه گیری به نظر میرسد استفاده از هریک از این دو مجوز در جای مناسب میتواند بسیار مفید باشد. نرمافزارهای متن باز را میتوان در جایی که فاکتورهایی همچون امنیت و پشتیبانی دارای اهمیت کمتر و هزینه کم دارای اهمیت بیشتر باشد، بکار برد. اما در مکانهایی همچون سازمانها نمیتوان این ریسک را انجام داد و بهتر است بیشتر روی نرمافزارهای اختصاصی تکیه کرد که دارای قابلیت اطمینان بیشتری هستند.
-
در دنیای مدرن برنامهنویسی امروز همانند دیگر کسبوکارها در حوزههای مختلف، برنامهنویسی و توسعهی نرمافزار دارای قوانین و چهارچوبهای تقریباً مشخصی است که توسعهدهندگان حقوقی و حقیقی باید در بارهی آنها بدانند تا در میدان دردسرهای پیشبینینشده و ناخواسته سقوط نکنند. در این مقاله به انواع مجوزها و همچنین قوانین حاکم بر آنها اشاره میشود که شما را دعوت به مطالعهی آن میکنیم. در بسیاری از مواقع، نوشتن یک برنامهی کاربردی، بدون استفاده از انوع کتابخانههای از قبل نوشته شده (کدهایی که دیگران نوشتهاند)، تقریباً غیرممکن است. مهمترین چیزی که پیش از دست زدن به کدها و تصاویر آمادهی گرافیکی، یا استفاده از کتابخانهها باید بررسی کنید، مجوز، یا به اصطلاح (لایسنسی) است که اثر را تحت آن توزیع کردهاند. برای اطلاع از آن، معمولاً باید به دنبال فایلی با نام license.txt بگردید یا صفحهی مربوط به مجوزها (Legal/Licensing) را در سایت اصلی بیابید. برخی از تفکرات غلط که باید به آنها توجه شود قرار است شما کتابخانهای را بنویسید و یا محصولی را توسعه دهید، در توسعهی آن شما نیاز به استفاده از کتابخانهها و یا تکهکدهایی هستید که دیگران آنها را توسعه دادهاند، با توجه به اینکه محصول شما قرار نیست منبعباز باشد (تجاری) بنابراین نباید اینگونه فکر کنید که چون محصول من تجاری است و قرار نیست کسی کد آن را ببیند، پس نیازی به حفظ حقوق توسعهدهنده و یا عنوان کردن کتابخانهها و توسعهدهندگان دیگر باشم! این یک تفکر غلظ است (چرا که محصول شما بدون وجود کدهای نوع سوم (Third-Party) قادر به انجام کارهایی که از آن انتظار دارید را نخواهد داشت (مگر اینکه محصول شما به صورت کامل توسط خود شما توسعه داده شده باشد) که این کار در بسیاری از مواقع تقریباً غیرممکن است. برای مثال اگر نیاز است شما در رابطه با مباحث امنیتی از کتابخانهای مانند OpenSSL استفاده کنید، دیگر نوشتن یک کتابخانهی عظیمی مانند آن حماقتی بیش نیست چرا که چنین کتابخانههایی توسط شرکتها، سازمانها و توسعهدهندگان بسیاری از قبل توسعه و مورد استفاده قرار گرفتهاند و از لحاظ پایداری و اطمینان استفاده مورد تایید قرار گرفتهاند. دقت کنید که استفاده از کتابخانهها و حتی هدف از نوشتن یک کتابخانه باید تحت شرایط حاکم بر مجوزها را در نظر داشته باشد. برای مثال، اگر شما قصد دارید کتابخانهای را مورد استفاده قرار دهید و یا قرار است کتابخانهای را ایجاد و توسعه دهید بهترین کار قبل از شروع توسعه آن است که بدانید هدف شما از توسعهی آن کتابخانه چه چیزی است؟ آیا قرار است کتابخانهی مورد نظر شما به صورت انحصاری و تجاری در اختیار کاربران قرار بگیرد و یا قرار است به صورت کاملاً رایگان به اشتراک گذاشته شود؟ شاید ابتدا به این فکر کنیم که چرا باید کدی را که برای آن زحمت کشدهایم به صورت رایگان در اختیار دیگران قرار دهیم، چرا که ممکن است آن را بدون حفظ نام نویسنده تغییر، توسعه و بازنشر و برای استفاده در مصارف تجاری (غیر رایگان) قرار دهند؟ برای پاسخ به این سوألها پیشنهاد میکنیم به ویژگیهای مجوزهای موجود دقت کنید چرا که حتی وقتی شما یک تکه کد را به صورت رایگان در اختیار دیگران قرار میدهید استفاده کننده موظف است تا طبق قوانین از پیش تعریف شدهی مجوزهای منبعباز (Open Source) آن را مورد استفاده قرار دهد که به حفظ حقوق چاپ و تکثیر، توسعه و دیگر موارد پرداخته است. انواع مجوزهای نرمافزاری و ویژگیهای آن نرم افزارهای متن باز (Open Source Software) نرم افزار متن باز را میتوان نرمافزاری معرفی کرد که تحت یک مجوز (Licence) دارای موافقتنامهی انتشار یافته، که اجازهی به اشتراکگذاری کد منبع (کد کامپیوتری) را جهت مشاهده و انجام تغییرات در آن توسط کاربران و سازمانهای دیگر میدهد. مثالهایی از این نوع نرم افزارها میتوان به مرورگر موزیلا، لینوکس، جوملا، وردپرس و غیره اشاره کرد. نرم افزارهای اختصاصی (متن بسته) (Closed Source Software) اینگونه نرمافزارها، نرمافزارهایی اختصاصی هستند که تحت یک مجوز دارای موافقتنامه برای انجام تغییرات، توزیع، کپی و انتشار محدود و کنترل شده در اختیار کاربران و سازمانها قرار میگیرند. یا به صورت ساده تر نرمافزارهایی که برای دریافت آنها باید پول پرداخت کنید و اجازه دسترسی به کد منبع برنامه را ندارید. مثالهایی از این نوع نرمافزارها میتوان به محصولات مایکروسافت مانند Office یا شرکت Adobe مانند Photoshop و غیره اشاره کرد. مجوز آزاد (CopyFree) کدهایی که تحت این نوع مجوز توزیع میشوند، هیچ محدودیتی بر برنامهی نهایی شما ایجاد نمیکنند. شما آزاد هستید که هر تغییری در آنها ایجاد کنید و لزومی ندارد کدهای تغییریافته یا استفادهشده را بازنشر دهید. حتی منبعی برای استفادهی تجاری از این کدها نیز وجود ندارد. انواع اصلی این لایسنسها عبارتند از Apache، BSD، MIT/X11 و Academic Free Licence مجوزهای BSD و MIT بسیار مختصر هستند و تنها به مثابهی اعلامیهای برای سلب مسئولیت از نویسنده به کار میروند و گزینهی مناسبی برای کامپوننتها و کدهای کوچک قلمداد میشوند. در حالی که Apache و AFL، متنهای حقوقی و کاملی هستند که تکلیف مسائلی نظیر سرنوشت پتنتها را نیز مشخص کردهاند. برنامههای کامل، ترجیحاً با مجوزهای Apache عرضه میشوند. به عنوان مثال، برنامههای معروفی که از این نوع لایسنسها استفاده میکنند، میتوان به LLVM/Clang، X11، FreeBSD، OpenSSL، Apache Server، اپل وبکیت و کرومیوم، و قسمتهای یوزرلند اندروید اشاره نمود. مجوز تجاری (Copyrighted/Proprietary) کپیرایت شده همهی برنامههای تجاری با این عنوان عرضه میشوند. این کدها بدون تهیهی مجوز لازم از توزیعکننده، در کدهای شما قابل استفاده نیستند. استفاده از این کدها یا لینک کردن به آنها، معمولاً در ازای پرداخت پول مجاز است. پس از دریافت مجوز، ممکن است فایلهای کامپایلشده (سورسبسته) یا کدهای اصلی (همراه سورس) را در اختیار شما قرار دهند، اما به شما اجازهی توزیع آن کدها را نخواهند داد. از گروه سورسبسته میتوان به ویندوز و مایکروسافت آفیس، و از گروه همراه با سورس میتوان به vBulletin، Unix و کامپوننتهای DevExpress اشاره کردبر خلاف مجوزهای متنباز لزوماً همراه داشتن سورس به معنی متنباز (opensource) بودن نرمافزار نیست. بلکه شرایط دیگری مثل شرایط بازنشر نیز لحاظ میشود. عملاً فقط مجوزهای آزاد و کپیلفت تحت این عنوان قرار میگیرند، استاندارد رایجی برای مجوزهای کپیرایت تجاری وجود ندارد و توصیه میشود فایل لایسنس، بهدقت مطالعه شود. مجوزهای کپیلِفت قوی (Strong Copylefted) کدهایی که تحت این عنوان توزیع میشوند، لایسنس خود را به برنامهی شما تحمیل مینمایند. حتی اگر یک خط از آنها را وارد برنامهی خود کنید، ناچار خواهید بود کل برنامهتان را به صورت کپیلفت، در اختیار سایرین قرار دهید. این مجوزها به شما اجازهی تجاریسازی یا فروش برنامه و کدتان را نمیدهند. سختگیری مجوزهای کپیلفت تنها به استفاده از کدها ختم نمیشود. حتی لینک کردن به نسخهی کامپایلشدهی آنها نیز، چه به صورت استاتیک انجام شود و چه به صورت دینامیک، همهی کدهایتان تحت این مجوزها قرار خواهد گرفت. بنابراین اگر قصد ندارید بدون انتشار همهی کدهای خود برنامهتان را توزیع کنید و یا از فروش آن کسب درآمد نمایید. جهت اطلاع از روشهای درآمدزایی از پروژههای متن-باز به این سند مراجعه کنید. البته کسب درآمد از طریق ارائهی خدمات پشتیبانی و نصب و راهانداری قانونیست و مدل تجاری شرکتهای بزرگی همچون ردهت بر این اساس بنا نهاده شده است.انواع اصلی این لایسنسها GPL و AGPL هستند که هر کدام چندین نسخه دارند. در میان برنامههای معروفی که با این نوع لایسنس عرضه میشوند، میتوان به لینوکس (کرنل) و یوزرلند اصلی آن، GNU، و همچنین MySQL، وردپرس، جوملا، لیبرآفیس(LibreOffice)، کامپایلر GCC، فریمورک Qt و… اشاره نمود. معدودی از این برنامهها و کدها، همزمان با لایسنس تجاری هم عرضه شدهاند که اگر بخواهید از برنامهای که نوشتهاید، از طریق فروش نرمافزار و بدون انتشار سورس کد کسب درآمد کنید، میبایست نسخهی تجاری آنها را خریداری نمایید. فریمورک Qt و بانک اطلاعاتی MySQL از این دسته برنامهها هستند. مجوزهای کپیلفت ضعیف (Weak Copylefted) تنها تفاوت انواع ضعیف مجوزهای کپیلفت با انواع قوی آن، در این است که اجازهی لینک دینامیک به کتابخانههای کامپایلشده با این لایسنس را میدهد. برای مثال، Glibc، کتابخانهی پوزیکس و زبان سی POSIX / Standard C Library در لینوکس، که عملاً دروازهی هستهی لینوکس برای همهی برنامههای کاربردیست، با این مجوز توزیع شده است و اگر به خاطر همین مجوز کپیلفت ضعیف نبود، اساساً امکان عرضهی برنامههای تجاری برای لینوکس وجود نداشت. به عنوان انواع اصلی این مجوز ها، میتوان به LGPL و MPL (موزیلا) اشاره کرد.برنامههای Firefox و VLC و کتابخانهی معروف FFmpeg نیز نمونهی دیگری از این گروه مجوزهاست. اگرچه برخی اجزای کتابخانه FFmpeg تحت لیسانس GPL منتشر شدهاند. در صورت فعال شدن همان اجزا، کل کتابخانه تحت GPL قرار خواهد گرفت.در سیستم عامل اندروید، برای آن که کوچکترین نگرانی برای برنامهسازان تجاری باقی نماند و از سرایت لایسنس هستهی اصلی لینوکس به بقیهی نرمافزارها جلوگیری شود، کتابخانهی پوزیکس/سی اختصاصی آن به نام Bionic، با لایسنس BSD عرضه شده است. مجوزهای کرییتیو کامنز (Creative Commons, CC) نوعی مجوز آزاد و رایگان که برای آثار گرافیکی و نوشتاری رایج است و بر اساس ویژگی (Types) آن میتوانند مجاز یا ممنوع برای استفادهی تجاری باشند. اگر برنامهی تجاری مینویسید، تنها از کارهای گرافیکی استفاده کنید که استفادهی تجاری را آزاد گذاشتهاند.این مجوز میتواند ویژگیهای دیگری نظیر عدم اجازهی تغییر در کار اصلی را همراه خود داشته باشد که باید به آنها نیز توجه نمایید. آیا میتوانم با نرمافزارهای کپیلفت، محتوای تجاری تولید کنم؟ جامعهی متنباز، مراقب این موضوع بوده که مجوز برنامههایشان محتوای شما را تحت تأثیر قرار ندهند و در صورت لزوم این موضوع را به صراحت نیز قید کردهاند. بنابراین میتوانید با برنامهای نظیر LibreOffice که تحت GPL توزیع شده، محتوای تجاری تولید کنید، یا برنامهی تجاری خود را توسط GCC کامپایل نمایید. اطلاعات سایتهایی که تحت نرمافزارهای کپیلفت هستند تحت تأثیر این لایسنس قرار نخواهند داشت (چرایی آن از نظر حقوقی خود یک مقاله است). در واقع، سایتهای خبررسانی زیادی نظیر CNN از این سرویسها استفاده میکنند. از نرمافزاری با مجوز GPL (مثل وردپرس) برای راهاندازی سایت خود استفاده کردهام. تکلیف چیست؟ این گونه برنامهها همراه سورس هست و آزادید آنها را تغییر بدهید. خیالتان راحت باشد که محتوای سایت شما تحت این نوع مجوز قرار نخواهد گرفت و تنها کدهاست که شامل لایسنس میشوند. حتی اگر چیزی به سورس آن اضافه کنید یا تغییر دهید، ولی قصد توزیع آن را نداشته باشید، به این کار مجبور نمیشوید. ولی توجه داشته باشید که پلاگینها و تمهای وردپرسی که شما تهیه میکنید، یا تغییراتی که بهاصطلاح هاردکد میکنید، تحت مجوز GPL قرار میگیرند و تنها در صورتی که بخواهید آنها را به فرد دیگری بدهید، حتی یک نفر دیگر، مجبورید سورسشان را به رایگان برای همه منتشر کنید. در واقع این موضوع، یکی از بزرگترین معضلات حقوقیست که تهیهکنندگان پلاگینها و تمهای تجاری وردپرس با آن درگیرند. اگرچه مجوز GPL شما را مجبور نمیکند که تغییراتی که برای استفادهی شخصی دادهاید منتشر کنید، اما این مجوز خواهرخواندهای به نام AGPL دارد که در صورتی که کد تغییر یافته را روی سرور اجرا کنید، باید منتشرش نمایید. آیا میتوانم کدی که تحت مجوز MIT یا BSD منتشر شده را در برنامهی تحت GPL استفاده کنم؟ احتمال زیادی وجود دارد که هر قسمت از یک پروژهی بزرگ، تحت لایسنس جداگانهای توزیع شده باشد. برای مثال در اندروید، هستهی لینوکس تحت GPL، بیونیک (کتابخانهی پوزیکس/سی) تحت BSD و بقیهی قسمتها عمدتاً بر اساس آپاچی منتشر شدهاند. در سیستم عامل MacOSX، هستهی Darwin و برخی اجزا تحت BSD و بقیه به صورت تجاری و سورس بسته هستند. بنا بر یک قاعدهی کلی، شما میتوانید مجوز یک کد را از یک لایسنس بازتر نظیر MIT، به لایسنس محدودتر نظیر GPL تغییر دهید، حتی اگر صاحب آن نباشید. ولی روند معکوس آن تنها برای صاحب اصلی اثر امکانپذیر است[ref]برای نمونه برنامهی VLC ابتدا تحت GPL قرار داشت اما در نهایت به دلیل ناسازگاری آن با استور آیتونز توسط شرکت سازنده به لایسنس بازتر MPL/LGPL منتقل شد. یا نرمافزار ToyBox که تحت لایسنس LPGL بود اما برای اینکه بتواند روی دستگاههای موبایل قرار گیرد تحت BSD قرار گرفت و اندرویید مارشملو از BusyBox به آن سوییچ کرد.به عنوان مثال، با این که مجوز آپاچی همانند MIT آزاد است، ولی از نوع محدودتر قلمداد میشود، پس نمیتوان کدهای تحت آپاچی را با مجوز MIT بازنشر کرد.به طور مختصر ترتیب مجوزهای متنباز، از بازترین به محدودترین، به شکل زیر است: Public Domain -> MIT/X11 -> BSD -> Apache -> LGPL/MPL -> GPL -> AGPL آیا برنامهی تحت ویندوز، شامل لیسانس تجاری مایکروسافت خواهد شد؟ مایکروسافت به شما این اجازه را میدهد که در چارچوب سیستم عامل ویندوز، به dllهای سیستمعامل لینک دهید و از آنها استفاده نمایید، اما این بدان معنا نیست که شما اجازه داشته باشید dllها را به برنامهی خود اضافه نمایید. بنابراین استفاده از dllهای خود ویندوز، در سیستمعاملها و شبیهسازهای غیرمایکروسافتی (نظیر ReactOS یا Wine)، غیرقانونی است و اینها به طور مستقل، پیادهسازی کدهایی را انجام دادهاند که با اینترفیس برنامهنویسی ویندوز (Win32 API) سازگار هستند. در ایران که قانون کپیرایت وجود ندارد، باز هم ملزم به رعایت و توجه به این موارد هستیم؟ صرف نظر از مسائل اخلاقی که ما را ناگزیر از رعایت این موارد میکنند، باید توجه داشته باشیم که اگر بخواهیم برنامهی خود را در اپاستورهایی همچون آیتونز یا گوگل پلی منتشر کنیم، رعایت این موارد ضروری است چرا که در صورت عدم رعایت، برنامههای شما را از فروشگاه حذف میشود. همچنین، گرچه جامعهی متنباز اهل شکایت و دادگاه نیستند، ولی از فردای روزی که ایران به سازمان تجارت جهانی بپیوندد، مسائل حقوقی ناشی از آن، همچون شمشیر داموکلس، بر سرکدهای شما خواهند بود. بسیاری از توسعهدهندگان تازهکار متأسفانه بدون در نظر گرفتن قوانین و شرایط توسعه وارد نشر و تکثیر کدها و محصولاتی میشوند که شاید به صورت ناخودآگان تمامی قوانین حقوقی و مجوزهای مربوطه را نقض میکنند. همچنین اپاستورهای معروف ایرانی تعهدی از توسعهدهنده دربارهی عدم استفاده از کدهای بدون مجوز اخذ نمیکنند و رویهای برای شکایت از ناقضین ندارند و علاوه بر آن، خود نیز رأساً اقدام به بازتوزیع برنامههای خارجی، بدون اخذ رضایت از صاحب اثر مینمایند و اگر این رویهی خود را مورد بازبینی قرار ندهند، ممکن است در آیندهای نزدیک مجبور به پرداخت خسارتهای هنگفتی شوند. باید توجه داشت که توزیع رایگان یک برنامه، به این معنا نیست که دریافتکننده حق توزیع مجدد آن را، حتی به صورت رایگان، داشته باشد. نمونهی بارز آن یونیکس است که به همراه سورس توزیع شود و برای دانشگاهها رایگان است، اما این قبیل استفاده از آن بدون پرداخت هزینههای مربوطه ممکن نیست. بنابراین حتی بازتوزیع نرمافزارهای رایگان خارجی در استورهای ایرانی نیز احتمالاً بدون عواقب نیست. منابع و مستندات Software license - Wikipedia Comparison of free and open-source software licenses - Wikipedia CI: policy > permissive CI: policy > copyleft CI: policy > copyright https://scriptics.ir