Знакомьтесь: программное обеспечение с открытым кодом
Успех программного обеспечения с открытым кодом весьма заметен. Оно не обошло стороной даже крупных производителей коммерческих программ. Компании IBM, Hewlett-Packard, Oracle и Microsoft признают его влияние и в некоторых случаях перенимают его методы. Похоже, что большинству компаний, в структуре которых имеется ИТ-служба, уже достаточно хорошо знакомы продукты с открытым кодом, а зачастую они и активно используют их.
Впрочем, повсеместное распространение ПО с открытым кодом по-прежнему порождает больше вопросов, чем ответов. Поэтому давайте попробуем ответить на наиболее популярные из них.
Что представляет собой программное обеспечение с открытым кодом?
Вернемся назад в 1997 год. Талантливый разработчик операционной системы Linux Брюс Перенс составляет документ, связанный с подготовкой и распространением дистрибутива версии Debian Linux. Позднее он удалил все упоминания о Debian и представил концепцию, известную сегодня под названием The Open Source Definition. Помимо всего прочего в документе Definition говорилось, что программное обеспечение с открытым кодом должно распространяться без каких-либо отчислений разработчикам, распространители обязаны обеспечить всем желающим бесплатный доступ к исходному коду программ и все дальнейшие доработки и модернизированные варианты программ тоже должны поставляться на этих же условиях.
Что такое Open source проекты, в чем приемущества программ с открытым исходным кодом
По сути движение сторонников программного обеспечения с открытым кодом является близким родственником инициативы Free Software Movement, предложенной в 1983 году Ричардом Столлманом. Главной ее целью являлось бесплатное распространение программного обеспечения, освобождение его от стандартных ограничений коммерческих программ. Правила распространения бесплатного ПО регламентируются лицензией General Public License (GPL), которая в октябре 2006 года была утверждена в своей третьей редакции.
Сегодня в мире применяются десятки различных лицензий Open Source Initiative, для каждой из которых разработаны свои собственные специфические правила, требующие изучения со стороны компаний, рассматривающих возможность использования ПО с открытым кодом. Обычно эти правила не накладывают жестких ограничений на желающих обратиться к программам с открытым кодом. Что же касается требований к распространению, им необходимо уделять более серьезное внимание, чтобы избежать потенциальных проблем, связанных с нарушением правил лицензирования.
Почему именно программы с открытым кодом?
Первая причина, по которой компании обращают внимание на программное обеспечение с открытым кодом, очень проста — это цена. И показатели окупаемости инвестиций в модель с открытым кодом наглядно это демонстрируют. ПО с открытым кодом можно загружать, устанавливать и использовать совершенно бесплатно.
Поначалу низкие затраты привлекали разработчиков, желающих опробовать новые инструментальные средства или заняться проектированием новых приложений, не вкладывая в это никаких средств. Открывающаяся свобода способствовала тому, что многие из них стали поддерживать движение сторонников ПО с открытым кодом. В результате наряду с тысячами других проектов в мире стало появляться ПО с открытым кодом промышленного уровня, например, операционная система Linux, Web-сервер Apache, сервер приложений Java JBoss и среда разработки Eclipse.
Открытый и закрытый исходный код. Ошибки и ситуативные баги.
В конце 1990-х годов на программы с открытым кодом наконец обратило внимание и руководство предприятий. В условиях постоянного сокращения бюджетов ИТ-служб разработчики хвастались качеством и экономией, достигаемой при использовании ПО с открытым кодом, и во многих компаниях стали всерьез задумываться о применении программных компонентов с открытым кодом при реализации корпоративных проектов. Первыми крупными предприятиями, которые стали внедрять у себя программное обеспечение с открытым кодом, были компании The Weather Channel, Cendant Travel, Employease и Sabre.
В период глобального роста Internet программное обеспечение с открытым кодом позволяет компаниям быстро наращивать объем своих электронных операций без постоянной закупки новых лицензий на коммерческое ПО. Соответствующие преимущества распространяются также на разработку и тестирование. Таким образом, компании могут опробовать новые вещи без дополнительных расходов, характерных для коммерческого ПО, и обязательного в таких случаях процесса выбивания бюджета.
Наверное, ни для кого не секрет, что доступностью исходного программного кода в продуктах, распространяемых с открытым кодом, на практике мало кто пользуется. Казалось бы, право беспрепятственной модификации и исправления программного кода должно считаться серьезным плюсом, но в действительности компаниям, вместо того чтобы осуществлять поддержку программного обеспечения самим, гораздо проще положиться на сообщество разработчиков, которые своевременно обновляют и отлаживают программный код всех популярных продуктов.
Причины отказа от ПО с открытым кодом
Аргументы против программного обеспечения с открытым кодом, как правило, легко пересчитать по пальцам.
Получение бесплатного ПО напоминает «бесплатную раздачу щенков». Вы можете загрузить и установить его совершенно бесплатно, но обучение и поддержка пользователей в конечном итоге обходятся дороже совокупных затрат на коммерческое ПО или составляют вполне сравнимую сумму. Подобный довод, который особенно любит приводить Microsoft, действует на подсознательном уровне. Справедливо это или нет, зависит от конкретной ситуации и от того, какой аналитический отчет вы читаете в данный момент.
Организация технической поддержки представляет сложность. В начале становления движения сторонников ПО с открытым исходным кодом, когда разработка и поддержка осуществлялись главным образом группами добровольцев или «сообществами», этот вопрос действительно был актуален. Но хотя во многих организациях и пришли к выводу, что поддержки сообщества вполне достаточно для удовлетворения их потребностей, сегодня перед ними открывается множество других возможностей, в том числе и поддержка крупных проектов с открытым кодом компаниями Hewlett-Packard и IBM. В результате утверждение, что «для удушения достаточно перекрыть одно горло» теряет свою актуальность.
Разработка нового функционала занимает больше времени по сравнению с коммерческим программным обеспечением. На самом деле это во многом зависит от конкретного вида используемого вами ПО. Web-браузер Firefox является лучшим примером того, насколько быстро программное обеспечение с открытым кодом можно приспособить к нуждам пользователей.
Можно вспомнить и о том, насколько оперативно разработчики Linux организовывали поддержку новых технологий, в частности портов USB. В этом отношении Linux практически не отставала от Windows. Но что касается корпоративного ПО, встраивание механизмов поддержки новейшей видеоплаты или аудиочипа играет здесь гораздо менее важную роль по сравнению с обеспечением высокой устойчивости и производительности.
Неопределенность дальнейшего развития и ветвления. Большое разнообразие лицензий на ПО с открытым кодом, а также возможность активного вмешательства конечных пользователей в программный код удерживают корпоративных клиентов от внедрения подобных программ. Но внимательное изучение лицензий на приложения с открытым кодом юристами развеивает большинство из этих страхов. Некоторые поставщики ПО с открытым кодом и независимые компании даже предлагают компенсацию ущерба, поэтому используемые вами приложения с открытым кодом вполне могут стать предметом судебного иска.
С чего начать?
Сегодня в виде продуктов с открытым кодом представлены почти все разновидности ПО делового назначения, начиная с серверов электронной почты и заканчивая системами VoIP. Многие компании в первую очередь обращают внимание на Web-приложения, где есть продукты, существующие на протяжении достаточно длительного времени и уже успевшие доказать свою состоятельность.
Обычно упоминают о стеке LAMP (Linux, Apache, MySQL и PHP, Perl или Python в зависимости от конкретной ситуации). Широкое распространение получила Unix-подобная операционная система Linux. Одним из наиболее популярных Web-серверов сегодня является Apache. Система управления базами данных MySQL успешно конкурирует с дорогостоящими коммерческими продуктами.
А языки программирования и сценариев PHP, Perl и Python находят широкое применение в качестве средств разработки Web-приложений с открытым кодом. Web-сайты с открытым кодом на основе Java часто опираются на сервер приложений JBoss. Познакомившись поближе с инструментальными средствами с открытым кодом, выявив сходство и различия между ними и коммерческими продуктами, вы откроете для себя и другие возможности. Возможно, удивит и то, что ваши разработчики время от времени на свой страх и риск обращаются к тем или иным продуктам с открытым кодом.
Серверы приложений, конечно, хорошо, но что можно сказать о ПО с открытым кодом для настольных компьютеров?
Конечные пользователи довольно часто применяют различные инструментальные средства с открытым кодом, предназначенные для настольных компьютеров. Ярким примером такого решения является Web-браузер Mozilla Firefox. Офисному пакету Sun OpenOffice отдельные государственные и коммерческие организации отдают предпочтение перед Microsoft Office.
Но хотя некоторые игроки и отваживаются погрузиться в неизведанное, устанавливая на своих настоль ных компьютерах операционную систему Linux, Windows продолжает сохранять безусловно доминирующее положение. Дружественные по отношению к конечному пользователю версии Linux (например, LinSpire) не могут нарушить сложившееся положение, потому что обучение пользователей требует времени и денег. Кроме того, большинство коммерческих программных пакетов — от которых зависят многие компании — разрабатываются в первую очередь для Windows и только потом для Linux (если, конечно, версия для Linux вообще выходит в свет).
Можно ли продать продукты с открытым кодом?
Да, конечно, но правила Open Source Initiative запрещают чинить препятствия в продаже вашего кода и всем остальным. И все же многие компании находят способы зарабатывать на продуктах с открытым кодом. Многие, помимо собственно кода, предлагают услуги корпоративной поддержки, которые весьма охотно покупаются компаниями.
Другие поставляют два варианта программного кода: один в открытой и бесплатной форме, а другой, включающий в себя дополнительные полезные функции, содержит закрытые компоненты и должен оплачиваться клиентами. Подобная смешанная модель становится все более популярной. Ее активно используют такие компании, как SourceFire, SugarCRM, Alfresco и ряд других.
Другие ресурсы с открытым кодом
Множество программ с открытым кодом можно найти в Internet:
FreshMeat. Огромная база данных загружаемого программного обеспечения, значительная часть которого представлена в форме с открытым кодом.
SourceForge. Гигантский сайт для разработчиков программного обеспечения с открытым кодом, объединяющий тысячи проектов с открытым кодом. Часть из них продолжает развиваться, а другие уже прекратили свое существование.
Ресурсы с открытым кодом — официальные и неофициальные
Open Source Initiative. Некоммерческая организация, считающая основной своей задачей дальнейшее развитие программного обеспечения с открытым кодом и финансируемая рядом игроков, которые уже давно действуют на этом поле.
Open Source Technology Group. Пожалуй, ведущий в мире проводник технологий с открытым кодом. Именно этому объединению принадлежит сайт новостей Slashdot, а также ресурсы SourceForge и FreshMeat.
Open Source Risk Management. Предлагает механизмы, обеспечивающие соответствие нормативным требованиям.
Open Source Development Labs. Организация, главной целью которой является продвижение операционной системы Linux в среде корпоративных клиентов.
Источник: www.osp.ru
Разработка программ с открытым исходным кодом: плюсы и минусы
Перевод статьи «The Pros and Cons of Open Source Software Development».
Многие разработчики являются горячими сторонниками проектов с открытым исходным кодом, и не без причины: они сами пользуются ими ежедневно для ускорения своей работы. Есть множество успешных примеров open source решений, например, операционная система Linux или JavaScript-библиотека React. Они отлично сделаны, а работать с таким высококачественным кодом — отдельное удовольствие.
Давайте рассмотрим подробнее, что такое open source и каковы плюсы и минусы работы над проектами с открытым кодом.
Что такое Open Source?
Термин «open source» («открытый исходный код») возник в индустрии разработки программ. Open Source это нечто такое, что каждый может изучать, модифицировать и распространять. Это особый подход к созданию компьютерных программ, прославляющий сотрудничество, открытость и разработку, где во главе угла стоит сообщество.
Для защиты всех участников процесса (как тех, кто пишет код, так и тех, кто его использует), собственник проекта может использовать лицензию Creative Commons. Лицензия Creative Commons (CC) разрешает всем желающим распространять и использовать вашу работу, а также создавать на ее основе что-то свое.
Программное обеспечение с открытым кодом обычно является свободным, т. е., разработчики имеют доступ к исходному коду программы. Они могут улучшить производительность программы, добавить функционал, исправить ошибки. Среди примеров программ с открытым кодом можно назвать LibreOffice, Mozilla Firefox, Chromium.
Но есть и коммерческое программное обеспечение («ПО с закрытым кодом»). Исходный код в таких программах могут читать или изменять только его собственники. Среди примеров такого ПО можно называть продукты Microsoft, Adobe и Apple.
Некоторые компании считают открытый исходный код нормой, другие предпочитают создавать ПО с закрытым кодом. И это неспроста, ведь, если говорить откровенно, модель open source имеет как достоинства, так и недостатки.
Каковы преимущества открытого кода?
Преимущества личного характера
Если я скажу, что open source разработчиками движет альтруизм и желание помогать окружающим, читатели могут улыбнуться и не поверить. Но многие люди работают над проектами с открытым кодом, исходя именно из таких соображений.
Не следует недооценивать важность преимуществ личного характера — ощущения своей нужности и гордости собой.
Признание в сообществе
Ученые и врачи делятся опытом путем написания научных статей и участия в научных конференциях. UI/UX дизайнеры делятся опытом на Behance или Dribbble. Писатели издают свои книги или выкладывают их на онлайн-платформах. Музыканты и кинематографисты представляют свои работы миру при помощи различных стриминговых сервисов.
Разработчики программ, как и все остальные люди, тоже хотят получать признание. Да и почему должно быть иначе?
Работая над проектами с открытым кодом и запуская их, вы можете получить признание в сообществе разработчиков. Можно, например, создать хороший профиль на GitHub или принимать участие в различных мероприятиях, таких как Hacktoberfest.
Как open source разработчик, вы можете получать какие-то скидки, возможность посещать разные мероприятия бесплатно, а также пользоваться качественной инфраструктурой для запуска ваших проектов. Но работа над открытым кодом не только позволяет вам экономить. Она также вдохновляет вас использовать все самые лучшие доступные вам инструменты в ваших проектах.
Самореклама
Если вы (или ваша компания) принимаете активное участие в open source сообществе, вы создаете себе хорошую репутацию. Благодаря этому вам будет проще находить заказы, если вы фрилансер, или искать работу. Если речь идет о компании, занимающейся разработкой ПО, вам будет легче находить людей, желающих у вас работать, партнеров, желающих сотрудничать, и клиентов, желающих воспользоваться вашими услугами.
То есть, участие в разработке open source создает отличную возможность для продвижения, а это выгодно как отдельным разработчикам, так и целым компаниям.
Чувство значимости
Нет смысла скрывать: выгорание представляет собой опасность и для разработчиков, и для HR-стратегий компаний. Если вы собственник компании, вы можете мотивировать своих сотрудников участвовать в разработке проектов с открытым кодом. Таким образом вы покажете им, что их работа является ценной. Когда люди занимаются open source проектами, они знают, что работают не только ради денег, но и создают нечто важное для широкого сообщества разработчиков.
Помогая разработчикам ощутить их ценность и предназначение, вы поддерживаете их заинтересованность в работе с вами.
То же касается и самозанятых разработчиков. Участие в open source сделает вашу работу значимой, в результате с течением времени у вас не появится отвращения к ней.
Качество ПО
Открытый исходный код часто бывает намного качественнее закрытого. Над такими программами работает не отдельная команда из нескольких человек, а тысячи разработчиков со всего мира, причем все они имеют свой неповторимый опыт в разных технологиях, индустриях и проектах. К тому же, баги в open source программах находят очень быстро, поскольку код постоянно проверяется множеством разработчиков.
Даже код, написанный одним-единственным разработчиком, часто бывает более качественным, если этот код открыт. Когда вы пишете код, который смогут увидеть только ваши коллеги, вы можете не особо заботиться о стиле. Но при написании кода, доступного всем желающим, вы сделаете все, чтобы не выглядеть code monkey.
Безопасность данных
Для разработки собственных приложений стоит использовать ПО с открытым кодом, потому что оно более защищенное. Сообщество быстро находит дыры в безопасности и сообщает о них собственнику ПО, а он оперативно все исправляет (обычно сразу же).
Но если проблемы с безопасностью возникают в коммерческом продукте, об этом никто не узнает, пока кто-нибудь не пострадает.
Кроме того, продукты с открытым кодом не могут намеренно злоупотреблять данными пользователей, поскольку подобные факты быстро обнаружатся сообществом и репутация программы и ее собственника будет уничтожена.
Кастомизация
Программы с открытым кодом обычно легко подгоняются под ваши нужды. Поскольку код открыт, любой разработчик может внести в него изменения и добавить нужный функционал.
Каковы «минусы» открытого кода?
Недостатки коммуникации и недопонимание
Открывая свой код для других людей, вы можете ожидать, что эти люди захотят что-то улучшить или в чем-то помочь вам. Но вы будете иметь дело с очень разными людьми. Кто-то может считать, что вы должны быть доступны 24/7. Другие могут открывать пул-реквесты, направленные на улучшение продукта, но вам придется объяснять, как именно все должно быть подготовлено и оформлено, чтобы они могли слить свой код с вашим.
Наконец, никто не гарантирует, что код, написанный сообществом, не окажется более низкого качества, чем ваш. В результате вы будете вынуждены рефакторить чей-то код, а люди будут разочарованы тем, что вы не пропускаете их изменения.
Опасность для бизнеса
Никогда не следует открывать код программ, представляющих большую ценность для вашего бизнеса. Если вы пользуетесь какими-то секретными приемами, делающими ваш бизнес уникальным, вам не следует их разглашать (т. е., открывать ваш код), поскольку ими могут воспользоваться ваши конкуренты. Но если у вас есть идеи и инструменты, которыми вы можете поделиться с общественностью без ущерба для себя, — сделайте их опенсорсными.
Почему Open Source это правильно
Если вы интернет-пользователь (а это определенно так и есть), вы неизбежно пользуетесь невероятным количеством свободного программного обеспечения. Изобретатели Интернета создали огромную его часть в виде проектов с открытым кодом, так что все, использующие его сегодня, пожинают плоды их усилий. Например, облачные вычисления в значительной степени базируются на open source.
Кроме того, согласно опросам Tidelift и The New Stack, 84 процента разработчиков используют открытый исходный код в своей профессиональной деятельности. Пользуясь чужим опытом и знаниями, почему бы вам не поделиться своими?
Если нам нравится пользоваться преимуществами open source, будет правильным решением отплатить добром сообществу.
Принимайте участие в Open Source разработке!
Не знаете, с чего начать? Сделайте ваш GitHub-репозиторий публичным и расскажите о нем миру в своем блоге, социальных сетях и на форумах разработчиков. Зарегистрируйтесь на Hacker News — там «зависает» много участников open source движения.
Разработка проектов с открытым кодом будет способствовать вашему профессиональному росту, а кроме того, пойдет на пользу всему сообществу. В то же время старайтесь не навредить сообществу, которое предоставило вам так много отличных продуктов с открытым кодом. Вносите свой вклад обдуманно. Помогайте окружающим, например, отвечайте на вопросы на форумах, если знаете подходящее решение.
Источник: techrocks.ru
Что такое свободные, открытые и бесплатные программы
В мире разработки есть три понятия, которые часто путают: свободное, открытое и бесплатное ПО (то есть программное обеспечение). Для неосведомлённых людей это близкие понятия, но для специалистов разница большая. Сейчас расширим ваш кругозор.
Для этого нужно будет:
- Разобраться в лицензиях на софт.
- Посмотреть по отдельности на свободный, открытый и бесплатный софт.
- Выделить основные риски и проблемы, связанные с каждым из них.
Картинка для затравки:
Лицензии и ПО
У каждой программы есть лицензия, которая определяет, что можно делать с этой программой, а что нельзя. Например, почти весь код в наших статьях публикуется под лицензией CC0 — она означает, что код становится общественным достоянием и его может использовать кто угодно в любых целях.
Есть много других лицензий, которые работают иначе: в них прописано, что можно делать с кодом, а что нет. Например, в лицензии может быть указано:
- можно модифицировать код без указания исходного автора или нет;
- если кто-то взял код за основу, то должен ли он использовать ту же самую лицензию или нет;
- можно ли зарабатывать на этом коде или нет;
- можно ли вообще модицифировать этот код или нужно использовать его только в таком виде;
- какие организации могут пользоваться кодом, а какие нет;
- и что угодно ещё, что захочет добавить в лицензию автор кода.
В итоге получается, что основное различие между программами в том, по какой лицензии они распространяются и что в них написано.
Чисто теоретически, если вы нарушите условия лицензии, вас могут привлечь к ответственности. На практике этим занимаются редко и по серьёзным поводам.
Например, вы нашли в интернете программу с лицензией типа Attribution, share-alike: это значит, что если вы будете делать свою программу на основе чужой, вы обязаны указывать автора этой программы и распространять вашу новую программу на тех же условиях, что и исходную. Вы закрываете на это глаза и выпускаете собственный коммерческий продукт. Кто вам что сделает?
Проходит время, ваша программа становится популярной, и её решает купить какой-нибудь ИТ-гигант. Их юристы приходят изучать ваш код и находят чужой кусок с лицензией. «Упс, нарушаете», — говорят вам юристы. Правовой риск, сделка может не состояться. Юристы знают, что вас маленького никто таскать по судам не будет, а ИТ-гиганта — только в путь. Им дешевле не проводить сделку с вами, чем рисковать плохой лицензией.
Или вы начинаете продавать свою программу и становитесь успешны. Автор изначальной программы об этом узнаёт, находит деньги на юристов и тащит вас в суд. Суд он выигрывает и забирает много денег. Но для этого он должен был о вас узнать и найти представителей в вашей стране, чтобы защитить свои права. Это дорого, но отсудит он в разы больше.
Последний вариант: вы госкомпания. Ваше ведомство выкатило вам требование, что вы не должны использовать ПО с открытым исходным кодом или написанное в недружественных странах. Вы случайно использовали такой код. На очередной проверке это вскроется, кто-то лишится должности и сядет.
Поэтому лицензии лучше не нарушать. В краткосрочной перспективе вам за это ничего не будет, но если дело пойдёт, нарушенные условия лицензии могут дорого обойтись.
Популярные лицензии софта
GNU GPL (GNU General Public License) — универсальная общедоступная лицензия, которая считается основной лицензией в мире открытого и свободного ПО. По этой лицензии пользователь получает 4 свободы:
- запускать программу с любой целью;
- изучать и изменять её исходный код;
- распространять и исходный код, и саму программу;
- улучшать программу и выкладывать её для всех, но под той же лицензией.
Под этой лицензией выпущено большинство дистрибутивов Linux, и именно эта лицензия чаще всего применяется для определения свободного ПО.
Mozilla Public License — эту лицензию используют для почти всех продуктов Mozilla (браузер, почта и остальные) и во многих других компаниях. Она похожа на GPL, но с важным отличием — код под этой лицензией можно использовать вместе с закрытым кодом, права на которые есть только у его разработчика. Это значит, что в одной программе может встретиться и открытый, и закрытый код.
Лицензия Apache — она разрешает делать с кодом что угодно, главное — указать всех авторов и все патенты, которые использовались при разработке. Например, можно взять открытый код под этой лицензией, доработать его, закрыть свой код для всех и начать продавать. При этом единственное, что нужно будет сделать, — добавить два файла: один с текстом лицензии Apache, а во втором перечислить весь код, что мы использовали под этой лицензией.
Лицензии Creative Commons
Ещё есть большая группа лицензий, разработанных организацией Creative Commons, которую можно применять к программам и исходному коду. Вот некоторые лицензии, которые там предусмотрены:
- CC Attribution (CC BY) — с кодом можно делать что угодно, главное — указывать автора исходной версии.
- CC Attribution — Share Alike (CC BY-SA) — если на основе этого кода вы сделаете что-то своё, то оно тоже должно распространяться под этой же лицензией.
- CC Attribution — Noncommercial (CC BY-NC) — можно использовать код как угодно, но зарабатывать на нём нельзя.
- CC Attribution — Noncommercial — No Derivative Works (CC BY-NC-ND) — программу можно использовать как угодно, но не зарабатывать на ней и не менять в неё ни строчки кода.
Есть и много других сочетаний. Тут главное увидеть принцип: лицензии CC определяют, нужно ли указывать автора, нужно ли распространять эту лицензию дальше, можно ли менять код, можно ли на нём зарабатывать. Из этих сочетаний рождаются разные комбинации лицензий.
Бесплатное ПО — просто можно не платить, а внутри что угодно
Бесплатное ПО — то, которое авторы изначально решили отдавать бесплатно, а значит, запретили его продавать. Продажа бесплатного ПО будет считаться нарушением лицензии, за это можно привлечь к ответственности.
Бесплатным может быть любой софт: с открытым кодом, закрытым, свободное несвободное. Например, «Скайп» — бесплатное ПО, но у него закрытый исходный код.
Бывает так, что у софта есть открытый исходный код, но компания зарабатывает на его установке, поддержке или каких-то ещё услугах. Пример — платформа WordPress.com. Это сервис, который предоставляет вам платные услуги хостинга на базе открытой, бесплатной и свободной системы WordPress. Сам WordPress продавать нельзя, а вот услуги по его поддержанию, наладке, размещению и резервированию — можно.
Открытое ПО — можно посмотреть исходники
Открытое программное обеспечение — это софт, у которого исходный код доступен всем, поэтому эту категорию ещё называют «ПО с открытым исходным кодом», «опенсорс» и open source.
Открытый исходный код значит, что любой человек может посмотреть, как сделана программа, найти уязвимости и написать что-то совместимое или похожее. Или взять какой-нибудь алгоритм и сделать что-то на его основе. Или найти недочёт и предложить улучшение.
В силу технологий любой софт на Python, PHP или JavaScript имеет открытый исходный код (если разработчик не пытался его намеренно обфусцировать). Если вы скачаете дистрибутив WordPress для своего сайта, вы сможете залезть во все модули программы, посмотреть на их логику работы и написать что-то своё, что будет дружить с «Вордпрессом».
Несмотря на открытость кода, сама программа может быть под любой лицензией — например, можно сделать программу с открытым кодом и только для некоммерческого использования. Или сделать открытый код, но запретить его менять. Открытость кода ничего не говорит о правах на использование программы.
Свободное ПО — делай что хочешь, но не закрывай
Свободное ПО — это софт, который можно использовать, применять, изучать и менять без ограничений. Но результат тоже должен быть свободно доступен для всех желающих, иначе это уже не свободное ПО. То есть взять свободный софт и поменять там строчку кода можно; а вот продавать этот изменённый софт уже нельзя.
Пример с отличием открытого от свободного ПО. Есть библиотека машинного обучения TensorFlow. Она выпущена под лицензией Apache. Это проект с открытым исходным кодом, и каждый может в него заглянуть и разобраться, как там всё устроено. Но при этом кто угодно на основе этой библиотеки может создать свою, закрыть свой код и начать продавать — лицензия Apache это позволяет.
Это уже не свободное ПО.
Риски и нюансы
Опенсорс может быть опаснее: если у вас сайт на опенсорсной платформе, то любой хакер может посмотреть исходный код этой платформы и найти там баг. Если хакер захочет вам навредить, он использует этот баг и что-нибудь поломает. Или он сообщит о баге разработчику и предложит заплатку.
Так как опенсорсные проекты поддерживают группы разработчиков, часто анонимные, они могут решить сделать в коде что-то вредоносное. Это разрушит их репутацию, но чем не пожертвуешь в порыве массового психоза.
Когда у софта закрытый код, то найти в нём уязвимость намного сложнее (но тоже возможно), а если появится что-то вредоносное — понятно, кто за это отвечает.
Открытое ПО не работает в энтерпрайзе. Когда у тебя маленькое предприятие, ты можешь отлично использовать открытое ПО и никому ничего не платить. Но однажды у тебя появятся потребности в доработке или обслуживании этого софта — например, что-то сломалось, а у тебя на этом завязаны важные технологические процессы. К кому ты пойдёшь? Тебе никто ничего не должен.
Поэтому в крупном бизнесе используют закрытое энтерпрайзное ПО — это программы, написанные специально под задачи крупного бизнеса. Поставщики этих программ занимаются не только разработкой, но и поддержкой и докруткой этого софта. Причём их основной бизнес — это именно поддержка. У каждого предприятия свои запросы и поломки.
Хорошие примеры — Atlassian и 1С. Первые делают систему Jira, которую используют почти во всех ИТ-компаниях. Вторые — систему для бухгалтерского учёта, склада и т. д. «Джира» и «1С:Предприятие» — не самые удобные и вылизанные программы. Но когда тебе срочно нужно добавить какую-то возможность (или что-то починить) — ты звонишь своему провайдеру, и он обязан по договору тебе помогать. С открытым ПО так не получится.
Открытое ПО нельзя так просто закрыть. Вот была компания Intuit, делала энтерпрайзную бухгалтерию, CRM и сервисы рассылок. Потом они решили, что больше не будут обслуживать клиентов из России. И ничего ты им не сделаешь, имеют право.
А вот OpenOffice и LibreOffice, для сравнения, нельзя будет просто так отключить для России или любой другой страны. Это свободное ПО, и спасибо ему за это.
Источник: thecode.media
11 лучших программ с открытым исходным кодом в 2020 году
Почему стоит использовать программы с открытым исходным кодом? Во-первых, они бесплатны. Во-вторых — безопасны, так как их разработку поддерживает и проверяет большое комьюнити по всему мире. Вот 11 лучших, на мой взгляд, программ.
Обратите внимание, что под различные задачи разработано очень много программ с открытым исходным кодом. Невозможно охватить все. Тем не менее, вот что я считаю лучшим для конечного пользователя. Однако, обязательно напишите мне в комментарии какие программы предпочитаете вы.
1. Brave Browser
Платформы: Windows, Mac, Linux, iOS, Android
Brave — это браузер с открытым исходным кодом, который ставит во главу приватность пользователей и по умолчанию блокирует рекламные объявления и трекеры.
В плане безопасности Brave поддерживает сквозное шифрование данных, встроенный VPN/TOR клиент и децентрализованные приложения, позволяет работать с торрентами и магнет-ссылками.
Также, он платит пользователям за просмотр рекламных объявлений нативными токенами Basic Attention Token. Для этого в браузер интегрирован криптокошелек, поддерживающий BAT.
Браузер очень быстр и прост в использовании, так как он основан на браузере Chromium с открытым исходным кодом. Он все еще отстает от крупных игроков, когда речь заходит о поддержке расширений, но, учитывая его быстрое развитие, можно ожидать, что совсем скоро ситуация изменится.
2. LibreOffice
Платформы: Windows, Mac, Linux
Этот офисный пакет отличается традиционным и всем привычным интерфейсом, а также тем, что он включает в себя рабочие эквиваленты Microsoft Word, Excel, Publisher, Powerpoint и Access. Это, пожалуй, самый полезный бесплатный пакет с открытым исходным кодом, который вы найдете.
LibreOffice обладает отличной совместимостью с множеством форматов — от проприетарных форматов Microsoft до менее известных — и постоянно развивается (одним из моих любимых небольших дополнений в прошлом году было включение динамического подсчета слов в нижней части экрана).
Следующий шаг, на который будем ждать, — это какое-нибудь облачное хранилище!
3. Krita
Платформы: Windows, Mac, Linux
Krita — это замечательный инструмент для редактирования цифровой графики, который отлично подходит как для тех, кто только пробует свои силы в дизайне, так и для профессионалов.
В Krita есть система слоёв, а также сама программа значительно меньше нагружает вашу систему, чем, скажем, Photoshop.
4. Notepad++
Платформы: Windows
Опытным пользователям не нужно рассказывать про блокнот Notepad++. Это отличный инструмент для программистов и опытных пользователей с поддержкой языков программирования и подсветкой синтаксиса.
Также Notepad++ предлагает отличную систему вкладок, которая позволяет работать с несколькими файлами одновременно. Программа запоминает открытые вкладки, так что вы можете продолжить работу с того места, на котором остановились, даже после перезагрузки компьютера.