Open source — TechCave

Открытое программное обеспечение (англ open-source software) — программное обеспечение с открытым исходным кодом.


Открытое программное обеспечение (англ open-source software) — программное обеспечение с открытым исходным кодом.

Исходный код таких программ доступен для просмотра, изучения и изменения, что позволяет пользователю принять участие в доработке самой открытой программы, использовать код для создания новых программ и исправления в них ошибок — через заимствование исходного кода, если это позволяет совместимость лицензий, или через изучение использованных алгоритмов, структур данных, технологий, методик и интерфейсов (поскольку исходный код может существенно дополнять документацию, а при отсутствии таковой сам служит документацией).

Стена группы

Загрузка...
1 день назад
#

Как пропатчить find под FreeBSD?



Учим FreeBSD искать файлы по расширенным атрибутам

Аннотация: в ОС FreeBSD на уровне файловой системы реализован механизм управления расширенными атрибутами файла (extattr). При помощи стандартных команд setextattr, getextattr и rmextattr можно создавать, читать и удалять комментарии, ключевые слова и другие метаданные файлов. А вот искать файлы по расширенным атрибутам пока нельзя. К тому же, расширенные атрибуты теряются при копировании файла. В двух статьях я предложу свои патчи для команд find и cp, устраняющие эти недостатки. Однако, я не профессиональный программист и делал патчи под свои задачи, поэтому предложенное решение стоит рассматривать исключительно как proof of concept и дорабатывать напильником.

Источник
Загрузка...
1 день назад
#

Microsoft присоединяется к Open Invention Network и «раздает» лицензии на 60 000 своих патентов



image

Иллюстрация zdnet.com

Microsoft присоединяется к
Open Invention Network,
предоставляя в общий пул около 60 000 патентов. Новость об этом была
опубликована 10 октября 2018 года в блоге корпорации-монополиста на рынке десктопных операционных систем.

Open Invention Network, OIN — это организация (и сообщество владельцев патентов вокруг нее), которая владеет патентами на программное обеспечение вселенной GNU/Linux. Целью OIN является защита Linux и других свободных программных продуктов от патентных исков. Участники сообщества передают патенты в общий пул, позволяя бесплатное использование этих патентов всем участникам на основе royalty-free лицензии.

OIN насчитывает около 2500 участников, среди которых можно выделить такие крупные компании как IBM, SUSE, Red Hat, Google, Novell, Philips, Sony. Примечательным фактом оказалось то, что с 2014 года одним из лицензиатов патентного пула OIN является
ReactOS Foundation. В свете новых событий можно сделать вывод, что вероятность
патентных претензий со стороны Microsoft к проекту
ReactOS стала
крайне мала.

I know the focus is on Linux, but after clarifications from multiple sources, it would appear that this also protects ReactOS (an OIN member) from Windows patent issues. This is huge, and something I had been dreaming for more than a decade. Microsoft’s really changed. https://t.co/9pza1WNkPw

— Alex Ionescu (@aionescu)
October 12, 2018


Источник
Загрузка...
1 день назад
#

Как пропатчить cp под FreeBSD?



Учим FreeBSD копировать вместе с файлами их расширенные атрибуты

Я большой поклонник
cp — по изящности и несокрушимости эта утилита, на мой взгляд, уступает только утилите
dd. Но под FreeBSD у неё есть один скромный недостаток — при копировании файла cp теряет его расширенные атрибуты (extattr). В
предыдущей публикации я предложил патч для команды
find, который добавляет возможность осуществлять поиск файлов по содержимому их расширенных атрибутов. Но какой в этом смысл, если ваши ключевые слова и комментарии потеряются при копировании файла? Пора брать последний бастион на пути полной поддержки расширенных атрибутов во фряшечке.

Источник
Загрузка...
1 день назад
#

Новости Typegram



Всем привет! Прошло два месяца с момента
анонса typegram на Хабре. И у меня для Вас просто жуткое количество новостей и прохладных историй! Всё так бурно развивается что даже страшно. Начну с приветствия:

Привет, меня зовут Вадим, я представляю проект
typegram. Typegram — онлайн платформа для публикаций с открытым исходным кодом.


Это то, что меня выдрессировали делать в стартап школе YC. Начинать с представления себя и своего проекта.

Источник
Загрузка...
1 день назад
#

БДСМ, Гор и преследование разработчика Drupal



Прошу прощения за желтый заголовок, но в данном случае он действительно отражает суть дела. Год назад в сообществе разработчиков Drupal произошел вопиющий случай, который на Хабра и даже в Рунете прошел несколько незамеченным. В контексте недавних волнений вокруг Линуса и Linux, имеет смысл вспомнить о тех событиях.



Обложка 23-й книги — «Renegades of Gor» саги «Хроники Гора».
Страсти по Гору



Однажды в конце февраля Dries Buytaert — основатель CMS Drupal, попросил одного из самых активных разработчиков Ларри Гарфилда (Larry Garfield) покинуть проект. Есть все основания полагать, что решение было вызвано ценностными расхождениями великодушного диктатора проекта с Ларри. В чем же суть этого расхождения и причем здесь Гор?



Источник
Загрузка...
1 день назад
#

PeerTube 1.0: видеохостинг без дата-центра и капитальных затрат



image

Состоялся первый продакшн-релиз децентрализованной платформы PeerTube для организации видеохостинга и видеовещания.
PeerTube представляет собой независимую легковесную масштабируемую альтернативу для YouTube, Dailymotion и Vimeo и использует браузеры посетителей в реальном времени для создания сети распространения контента. Наработки проекта распространяются на
GitHub под свободной лицензией
AGPLv3.

image

Идея PeerTube состоит в том, чтобы создать технологию, способную объединить разрозненные серверы с видео в общую федеративную сеть с взаимным обменом информацией, в которой посетители участвуют в доставке контента и имеют возможность подписки на каналы и получения уведомлений о новых видео.

Источник
Загрузка...
1 день назад
#

Cogear.JS – современный генератор статических сайтов



Привет, Хабр!



Хочу представить вниманию хабровчан генератор статических сайтов с открытым исходным кодом, написанный на Node.JS, в основе которого лежит Webpack.



Проект вдохновлён тем же Jekyll, но в основе своей использует современный технологический стек. Например, предоставляет возможность «горячей подгрузки» (без перезагрузки страницы) изменённых скриптов и стилей.



image



Источник
Загрузка...
1 день назад
#

Microsoft выпустил код MS-DOS 1.25 и 2.0 под лицензией MIT



Microsoft выпустил код MS-DOS 1.25 и 2.0 под лицензией MIT, см. соответствующий
репозиторий на GitHub, на фразу «for reference purposes» внимание не обращайте, она устарела. Это тот самый код, который ещё в марте 2014 года стал доступен как shared source («смотри, но не трогай») на сайте Музея компьютерной истории (
новость на Хабре). Всё, что изменилось теперь — лицензия, и она
совместима с GPL.

Обе версии MS-DOS — очень старые, в них не поддержано многое из того, что заработало в последующих. Так, например, лишь во второй из них появились папки и перенаправление при помощи знака "|". Так что, несмотря на совместимость лицензий, вряд ли хотя бы строчка этого кода попадёт в FreeDOS или DOSBOX. Но делу улучшения совместимости анализ их исходников не помешает.

Источник
Загрузка...
6 дней назад
#

Perl 5: как в макросах ошибки прятались






Для пополнения списка языков программирования с открытым исходным кодом, которые были проверены с помощью статического анализатора кода PVS-Studio, был выбран Perl 5. Эта статья о найденных ошибках и трудностях просмотра результатов анализа. Количество макросов в коде столь велико, что создаётся ощущение, что код написан не на языке Си, а на каком-то его странном диалекте. Несмотря на затруднения при просмотре кода, удалось насобирать интересные проблемы, о которых и будет рассказано в этой статье.

Введение

Perl — высокоуровневый интерпретируемый динамический язык программирования общего назначения (Perl is a family of two high-level, general-purpose, interpreted, dynamic programming languages). Разработка Perl 5 была начата в 1994 году. Спустя пару десятилетий, код на языке Си с многочисленными макросами вызывает нервозность у современных программистов.

Исходный код Perl 5 был взят из официального
репозитория (ветка
blead). Для проверки проекта использовался статический анализатор кода
PVS-Studio. Анализ проводился на операционной системе Linux, но анализатор также доступен для Windows и macOS.

Просмотр результатов анализа был не простой задачей. Дело в том, что анализатор проверяет
препроцессированные .i файлы, в которых уже раскрыты все директивы препроцессора, а выдаёт предупреждения на файлы с исходным кодом. Это правильное поведение анализатора, ничего менять не нужно, но много предупреждений выдаётся на макросы! А за макросами скрывается нечитабельный код.

Источник
Загрузка...
6 дней назад
#

Web под угрозой. Присоединяйтесь к нам и сражайся за неё



image

Сегодня (
14 марта 2018 прим. ред.) World Wide Web исполняется 29 лет. Этот год знаменует собой ключевое событие в истории web: впервые мы переживаем важный момент – больше чем половина населения земного шара хочет быть «онлайн».

Мнения людей по поводу этих потрясающих новостей делятся на два типа:

  1. Как нам подключить к интернету оставшуюся половину человечества?

  2. А мы уверены, что оставшаяся часть хочет этого?



Реальных факторов, угрожающих web, сегодня достаточно много, включая те, что я описал в моем
крайнем письме – от дезинформации и сомнительной пропаганды до возможности утечки персональных данных. Но я все еще настаиваю на том, что web — это свободное, открытое, творческое пространство. Для всех.

Однако это возможно лишь в том случае, если мы выведем в онлайн каждого и убедимся, что web работает только на пользу людям. Я основал
Web Foundation, чтобы бороться за будущее всемирной сети. И вот что мы должны сделать:

Источник
Загрузка...
6 дней назад
#

Механизм представлений — особая кубинская магия



КПДВ



Представления, или views, это одна из концепций платформы CUBA, не самая расхожая в мире веб-фреймворков. Понять её — значит уберечь себя от глупых ошибок, когда из-за неполностью подгруженных данных приложение внезапно перестает работать. Давайте посмотрим, что представляют из себя представления (каламбур) и почему это на самом деле удобно.



Проблема незагруженных данных

Возьмём предметную область попроще и рассмотрим проблему на её примере. Предположим, у нас есть сущность Customer, которая ссылается на сущность CustomerType в отношении много-к-одному, иными словами, покупатель имеет ссылку на некий тип, его описывающий: например, «дойная корова», «грубиян» и т.п. Сущность CustomerType имеет атрибут name, в котором хранится имя типа.



И, наверное, все новички (а то и продвинутые пользователи) в CUBA рано или поздно получали такую ошибку:



IllegalStateException: Cannot get unfetched attribute [type] from detached object com.rtcab.cev.entity.Customer-e703700d-c977-bd8e-1a40-74afd88915af [detached].



Ошибка Cannot get unfetched attribute в CUBA UI



Признайтесь, вы же тоже это видели своими глазами? Я — да, в сотне разных ситуаций. В этой статье мы рассмотрим причину этой проблемы, почему она вообще существует и как её решить.
Для начала — небольшое введение в концепцию представлений.



Что такое представление?

Представление в CUBA — это, по сути, набор столбцов в базе данных, которые должны быть загружены вместе единым запросом.



Источник
Загрузка...
6 дней назад
#

Вышел GitLab 11.3 с репозиторием Maven и защищенными окружениями



Картинка для привлечения внимания



С новым релизом GitLab 11.3 мы рады представить вам поддержку репозиториев Maven, владельцев кода (Code Owners), защищенные окружения и прогнозы для эпиков. Все это поможет автоматизировать управление окружениями и кодом, что позволит разработчикам на Java быть еще эффективнее.



Источник
Загрузка...
Den
8 месяцев назад
#

Социальная архитектура: 4 шага к самоуправляемому сообществу



imageЯ бы хотел, чтобы сообщество было полностью самоуправляемо, и, возможно, когда-нибудь так и будет, но пока это не так. ZeroMQ близко к этому, но по моему опыту сообществу требуется четыре вещи:

Во-первых, просто потому, что большинство людей слишком милые, нам требуется некое символическое лидерство или владельцы, которые будут выступать конечными арбитрами в случае возникновения конфликта. Обычно это основатели сообщества. Я видел, как с этим управляется самоизбранная группа «старших», но старики слишком любят поболтать. Я видел, как сообщества раскалываются, сталкиваясь с вопросом «кто главный?», и создают юридические лица с советом директоров, который только усугубляет споры о контроле. Может так получается, т.к. кажется, что есть, что делить. Но одним из настоящих преимуществ свободного программного обеспечения является его ремиксабельность, поэтому вместо того, чтобы драться за пирог, просто отщипните «вилкой» кусочек.

Во-вторых, сообществам требуются правила жизни, и еще юрист, способный эти правила сформулировать и записать их. Правила критически важны — будучи хорошо составленными, они исключают трения. А неправильно составленные, или игнорируемые, приведут к раздорам и сложностям, которые отпугнут большую часть, оставив спорящую группу во главе горящего дома. Я сам пробовал создать универсальные правила для ZeroMQ и предыдущих сообществ, поэтому, наверно, нам не так уж и нужны юристы.

Источник
Загрузка...
8 месяцев назад
#

Реализация fork() без MMU



Здравствуй, читатель! Пару лет назад в
статье про vfork() я обещал рассказать про реализацию fork() для систем без MMU, но руки до этого дошли только сейчас :)

В этой статье я расскажу, как мы реализовали такой странный
fork(). Проверять работоспособность буду на сторонней программе — dash — интерпретаторе, который использует
fork() для запуска приложений.

Кому интересно, прошу под кат.

Источник
Загрузка...
8 месяцев назад
#

Социальная архитектура: Важность контрактов и неограниченная собственность



Проект, у которого хорошо написан контракт, определяющий условия его завершения, развалится с намного меньшей вероятностью.


imageВажность контрактов

Давайте обсудим спорный, но важный вопрос о том, какую лицензию выбрать. Я бы выделил «BSD» вместе с MIT, X11, BSD, Apache и прочими похожими лицензиями, и «GPL» с GPLv3, LGPLv3 и AGPLv3. Главным отличием является распространение прав на любые версии форков, что защищает любую организацию от захвата программного обеспечения, и тем самым делая его «свободным».

Технически лицензия на программное обеспечение не является контрактом, ведь вы ничего не подписываете. Но в широком смысле удобно считать ее именно контрактом, т.к. она подразумевает обязательства всех сторон и позволяет принуждать к их исполнению в суде, в соответствии с авторским правом.

Вы можете спросить, зачем нам вообще нужны контракты при работе с open source? Ведь главное доброжелательность, бескорыстная совместная работа людей. Вы уверены, что принцип «лучше меньше да лучше» всегда здесь уместен? Не значит ли, что больше правил — меньше свободы? Нам на самом деле нужны адвокаты, чтобы рассказывать, как нам работать вместе? Кажется циничным и даже контрпродуктивным насаждать ограничения и правила в счастливом open source, в сообществе свободного программного обеспечения.

Источник
Загрузка...
2 3

Авторизация

Пользователи

Георгiй Москвитинъ
Andpyxa Tutunnik
Andrey_fox
Jane linch
genagy
Pasha Radiuk
KotikBSD
Эрик Имашев
Амир Исмагилов