Рубрика «open source» - 130

Автор статьи — Мэдс Торгерсен, ведущий архитектор C# в Microsoft

Проект Roslyn

Roslyn — это кодовое название, которое закрепилось за open-source компилятором для C# и Visual Basic.NET. Проект начинался в самой глубокой тьме последнего десятилетия корпоративной жизни Microsoft — и завершился как проект с открытым исходным кодом, кросс-платформенный, публичный универсальный движок для C# (и VB, что я приму как данность в остальной части статьи).

Первые разговоры о проекте, который впоследствии станет известен как Roslyn, уже шли, когда я пришёл на работу в Microsoft в 2005 году — незадолго до выпуска .NET 2.0. Шёл разговор о переписывании C# на C#. Это нормальная практика для языков программирования — доказательство зрелости языка. Но была и более практичная и важная мотивация: мы, создатели C#, сами не программировали на C#, мы программировали на C++! Если же ежедневно программировать на C#, то вы меняете своё мнение: великая сила работы на том инструменте, какой разрабатываете (dogfooding).
Читать полностью »

image

Я ещё в начале 2000-х годов экспериментировал и использовал BeOS R5 Pro, когда компания, которая его создала, пошла ко дну. Я с интересом слежу за развитием Haiku на протяжении всех этих лет. Хотя можно утверждать, что и старая BeOS и новая Haiku, не имеют некоторых важных функций, которые присуще современным ОС, факт состоит в том, что легковесная операционная система всегда может быть, например, отличным способом привнести новую жизнь в старую или новую, но не слишком мощную железку.
Читать полностью »

image

Жизнь многих коллективов разработчиков свободного программного обеспечения преисполнена аскетизма, преодоления сложностей и препятствий, и часто сообщества выживают исключительно за счет альтруистических убеждений и самоотверженности своих участников. Не всем популярным свободным продуктам удается найти стабильный и надежный источник финансирования. Однако, иногда судьба дарит заслуженные подарки. Так в этом году произошло с проектом KDE. Дважды.

KDE — организация и международное сообщество вокруг нее, разрабатывающее свободное программное обеспечение: среду рабочего стола Plasma и набор приложений KDE Applications. Основным источником средств для проекта служит сбор пожертвований и целевые кампании по фандрайзингу.

image

15 октября 2018 некоммерческая организация KDE e.V., курирующая развитие проекта KDE, сообщила о получении пожертвования в $300 000 на 22-летие проекта от другого сообщества энтузиастов — Handshake.org. Причем 100 тысяч долларов, из полученных 300 тысяч, пойдут на развитие свободного офисного пакета Calligra.Читать полностью »

«Ваша библиотека, как ваш ребёнок, может пойти в неожиданную для вас сторону»: интервью с создателем MobX - 1

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

Мишель Уэстстрате хорошо знает обо всём этом: у его библиотеки MobX больше 17 000 звёзд на гитхабе, число её контрибьюторов давно перевалило за сотню. А скоро Мишель приедет в Россию выступить на HolyJS, поэтому ребята из программного комитета конференции (Дмитрий Махнёв и Евгений Кот) подробно расспросили его: и об опенсорсе в целом, и конкретно о MobX, и о конференциях.
Читать полностью »

MongoDB меняет свою Open Source лицензию - 1

В MongoDB несколько обижены тем, что некоторые облачные провайдеры, особенно в Азии, используют их открытый код и предлагают коммерческую версию их базы данных в облаке своим пользователям, не играя по правилам открытого ПО. Чтобы бороться с этим, MongoDB сегодня объявила о выпуске новой лицензии на программное обеспечение — Server Side Public License (SSPL), которая будет использоваться во всех новых релизах их MongoDB Community Server, а также во всех патчах к предыдущим версиям.

Читать полностью »

Статический анализ PHP-кода на примере PHPStan, Phan и Psalm - 1

Компания Badoo существует уже более 12 лет. У нас очень много PHP-кода (миллионы строк) и наверняка даже сохранились строки, написанные 12 лет назад. У нас есть код, написанный ещё во времена PHP 4 и PHP 5. Мы выкладываем код два раза в день, и каждая выкладка содержит примерно 10—20 задач. Помимо этого, программисты могут выкладывать срочные патчи — небольшие изменения. И в день таких патчей у нас набирается пара десятков. В общем, наш код меняется очень активно.

Мы постоянно ищем возможности как для ускорения разработки, так и для повышения качества кода. И вот однажды мы решили внедрить статический анализ кода. Что из этого получилось, читайте под катом.
Читать полностью »

PVS-Studio & Qt

Время от времени наша команда повторно проверяет проекты, про которые мы уже писали статьи. Очередным таким перепроверенным проектом стал Qt. Последний раз мы проверяли его с помощью PVS-Studio в 2014 году. Начиная с 2014 года проект начал регулярно проверяться с помощью Coverity. Это интересно. Давайте посмотрим, удастся ли нам теперь найти какие-то интересные ошибки с помощью PVS-Studio.
Читать полностью »

Можно ли закрыть обратно открытый исходный код? - 1

Эта концепция кажется довольно простой для любого человека, некоторое время работавшего с открытым исходным кодом: проект, однажды выпущенный в виде открытого кода, остаётся открытым навсегда. Конечно, разработчик может решить, что будущие версии проекта будут закрытыми, и иногда такое случалось, но то, что уже выпущено на свободу, отозвать обратно не получится. У интернета нет кнопки «удалить»; опубликовав свой код, и дав миллионам людей потенциальную возможность скачать его, загнать джина обратно в бутылку не получится.

Но что насчёт уважительных причин? Что, если проект превратится во что-то, к чему вы больше не хотите иметь отношения? Возможно, вы отправляли свой код для проекта, имея представление о том, как его будут использовать, а потом правила поменялись. Или же вас забанили на этом проекте, и при этом у людей, поддерживающих его, нет проблем с тем, чтобы оставить ваш значительный вклад в виде кода, даже когда вас выкинули на обочину?

Из-за того, что некоторые люди считают вынужденным изменением в правилах поведения разработчиков Linux, у некоторых разработчиков наиболее исключительного проекта с открытым кодом в мире возникают вопросы. С такой ситуацией сообществу приходится сталкиваться редко, и такого ещё никогда не случалось с проектом подобного масштаба.
Читать полностью »

Загрузка конфигурации в ПЛИС через USB или разбираем FTDI MPSSE - 1

В жизни каждого плисовода наступает момент, когда требуется написать собственный загрузчик файла конфигурации в ПЛИС. Пришлось мне участвовать в разработке учебного стенда для кафедры одного технического вуза. Стенд предназначен для изучения цифровой обработки сигналов, хотя в рамках этой статьи это не имеет особого значения. А значение имеет то, что в основе стенда стоит ПЛИС (Altera Cyclone IV), на которой по задумке автора стенда студенты собирают всякие схемы ЦОС. Стенд подключается к компьютеру через USB. Требуется выполнить загрузку ПЛИС с компьютера через USB.

Принято решение для подключения к ПК использовать FTDI в ее двухканальной ипостаси — FT2232H. Один канал будет использован для конфигурации ПЛИС, другой может быть использован для высокоскоростного обмена в режиме FIFO.

Читать полностью »

Microsoft передала две трети своих патентов Open Invention Network (OIN) - 1

Open Invention Network (OIN) — организация, которая владеет патентами на программное обеспечение экосистемы GNU/Linux, она же предоставляет право на их бесплатное использование. На днях корпорация Microsoft передала этой организации около 60 тысяч собственных патентов из 90 тысяч имеющихся.

Представители Microsoft заявили, что остальные 30 тысяч патентов фактически не существуют, поскольку они находятся в процессе обработки соответствующими компетентными структурами. По этой причине передать их нельзя, но после завершения обработки они даже будут предоставлены партнеру компании.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js