Open source по-украински

Підписуйтеся на Telegram-канал «DOU #tech», щоб не пропустити нові технічні статті

Вряд ли согрешу против истины, сказав что практически все читатели DOU слышали о таком явлении как «open source». Многие даже контрибьютили. Собственно, как вы находите интересные для себя проекты, в которые возникает желаение внести свою лепту? Было бы здорово заиметь список живых проектов (в первую очередь вітчизняних), которым реально нужна помощь. С описанием технологий, которые на нем используются.

👍ПодобаєтьсяСподобалось1
До обраногоВ обраному1
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

У мене є декілька проектів, але він початку до кінця розроблені особисто мною, а не у складі команди. Технології — чистий C, є трохи OpenCL у тестах покерних таблиці для кінцевих автоматів, щоб прискорити перебирання всіх варіантів та перевірки статистики.

github.com/mustitz/yoo-ofsm
Генератор кінцевих автоматів, за допомогою якого можна генерувати таблиці для швидкого обчислення певних дискретних функцій на кшталт сили руки у покері, є вже згенеровані таблиці для Texas Hold’em, 6+ Hold’em та для Omaha, але по семи картам лише. В принципі, у деякому покерному софті навіть використовується, як раз знайомий попросив оптимізувати обчислення, з цього й пішло.

github.com/mustitz/paper-football
Рушій для гри «футбол на аркуші паперу». Там є навіть два варіанти, західний (один хід, але його можна продовжувати, якщо хід завершено на зайнятій клітині, це бранч master). Також є бранч rus-football для радянського варіанту, де у тебе є три кроки, а якщо ти загнав суперника у ситуацію, коли він не може їх зробити, то б’ється штрафний удар. Є навіть невеличке відео, де я трохи розповідаю про цю гру:
www.youtube.com/watch?v=gqkYFTJ-9Yo

github.com/mustitz/checkers
Звичайні російські шашки, 64 клітини, які використовують MCTS з рандомними рулаутами, плюс неоптимізований генератор закінчень, та бінарі (бранч etb-bin) з таблицями від 6 шашок. В принципі, протестувати можна тут, але інколи посилання може не працювати:
mustitz.host.funtoo.org:2201

Привет Ребята! Уже который год организую площадку во Львове под Hacktoberfest от DigitalOcean
суть мероприятия обратить внимание общественности на нужды опенсорса ) и оказать посильную помощь. Кого то это втягивает надолго.
В это раз решил усилиться и пригласить мейнтейнеров, которые смогут рассказать о своем проекте вообщем помочь продуктивнее поработать в этот день.
Если вы мейнтейнер, пишите )

Ещё один open source проект.

Конвертор xml в json и наоборот.

Нужна помощь в тестировании.

github.com/...​download/test/example.jar

С уважением, Валентин

Можете присоединиться к одному из проектов представленных здесь github.com/dncuug

Как проект выстреливает, большинство бежит за границу.

Друг працює над веб файловим менеджером :).
cloudcmd.io
Також є українська сторіночка ua.cloudcmd.io

У меня есть 2 open source проекта:

— сумма прописью 123.45 — умеет конвертировать в сто двадцать три гривны, 45 копеек
— ukrainian to latin — умеет конвертировать украинские слова в латинские.

Вот если б он 123.45гривны умел в баксы конвертировать по курсу нац.банка :)

Собственно, как вы находите интересные для себя проекты, в которые возникает желаение внести свою лепту?

Обычно это бывает так. Юзается что-то опенсорсное (продукт или отдельная либа). Ну там целый дженкинс или например berkshelf. Сталкиваешься с проблемой, которая как заноза в заднице. Идешь и постишь на их трекер. Если нормально расписать, то это уже контрибутинг. Ну а потом по реакции и активности в трекере становится видно, что никому эта проблема не интересна, и видимо пофиксят ее в лучшем случае через год. И тогда у тебя есть выбор — закостылить на своей стороне или наваять пулл реквест самостоятельно. Я за творческий подход.

І як — Ваші пул реквести майтенери приймали легко? Чи Ви обрали перший шлях?

И тогда у тебя есть выбор — закостылить на своей стороне или наваять пулл реквест самостоятельно.

проблема часто legal (юридическая?) если ты сделал свои изменения в опенсорсное и заюзал это в своём коммерческом то надо смотреть на лицензию оригинала с требованием предоставить сорцы к этому изменению

и видимо пофиксят ее в лучшем случае через год ... или наваять пулл реквест самостоятельно.

а что пулл риквест принимают «на вчера»?

ЗЫ: а да ещё отдельный legal прикол надо внимательно и отдельно смотреть твоё соглашение с работодателем который должен разрешить тебе лично этот пулл риквест в опенсорсе который они юзают на проде и/или в своём коммерческом эта процедура часто аналогична обратной чтобы получить разрешение заюзать этот опенсорс у себя на проде

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

ЗЫ: плюс такие ходы могут подпадать под соглашения об конкуренции (забыл как правильно называется юридически) типа ты участвуюешь (имеешь связи) в третьей стороне которая в свою очередь участвует в поставках твоей конторе

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

Некоторые платформы, например Go Modules, успешно это обходят — зависимость можно добавить прямо на форк или бренч. Но по большему счету — проблема наболевшая, да.

С лигал стороны наоборот — 8 лет назад это было проблемой, не встречал компаний в последнее время где не было бы интернал ревью процесса, почти полностью автоматизированного, что-бы законтрибьютить фикс. Для нас в Калифорнии вообще все просто — Labor Code, #2870:

> Any provision in an employment agreement which provides that an employee shall assign, or offer to assign, any of his or her rights in an invention to his or her employer shall not apply to an invention that the employee developed entirely on his or her own time without using the employer’s equipment, supplies, facilities, or trade secret information

С технической стороны, такой католог можно сделать очень просто.
Вначале, можно сделать отдельный раздел на форуме.
С маркетинговой стороны, убедить людей что постить проекты в этот раздел — это хорошо.
Когда наберется критическая масса проектов, ну больше 50, например — создать каталог по языку, технологии, типу проекта.

Простые вещи работают, но нужна поддержка со стороны сообщества. Пример — Hacker News.

Я не думаю, что стоит ограничевать такой каталог только лишь под украинские проекты. Достаточно будет каталога проектов, над которыми работают (принимают участие) украинские разработчики.
На базе, такого локального каталога, можно создать локальные юзер групы, и организововать встречи где-то в соседнем пабе ;)

А можно просто фолловить украинских разработчиков open source
github.com/...f=searchresults
Каталог можно дополнять вот здесь:
github.com/.../initiatives.md

По результатам поиска напрашивается обзор.
Там 200+ юзеров, много пустых, интересные проекты сразу не видно.

Ну и можно намекнуть людям, чтобы проставили Location.

Честно говоря, никак не получается вносить свою лепту по причине банальной нехватки времени. Первый и последний свой проект я в основном сделал в перерыве между работами в 2008 году и с трудом находя время довел до некоторого законченного состояния в 2012. К сожалению, к тому времени появился конкурирующий проект, так что можно сказать, что он умер не родившись.
Впрочем, поставленные на момент его старта цели (ознакомиться с тем, тем и тем-то) он выполнил с лихвой. Заодно было что показывать, когда просили примеры когда.

Если интересно (плюсовикам), проект sourceforge.net/...ects/iculocale — набор фасеток локализации написанный поверх ICU. С некоторыми ограничениями определяемыми ICU (например, в ICU нет truename()/falsename()) или STL (например, там кастрированный формат фасетки валюты) работают все фасетки, кроме вывода времени: она довольна объемная, меня уже не хватило, да и смысла завершать уж не было.
Можно собрать в виндовой студии для винды, либо через make под что угодно статическую или динамичекую либу, либо юзать хидер-онли версию (по умолчанию).
Для тестирования используется Boost.Test, для доков — Doxygen, для сборки они опциональны.

Изначально я думал попробовать продвигать ее в Boost, но потом появился Boost.Locale и смысла в этому уже не стало. Хотя проекты имеют принципиально разную идеологию, Boost.Locale — это вещь в себе, а iculocale — минималистичная прослойка для бесшовной интеграции ICU в STL.

На практике я использовал ее в нескольких домашних заготовках, но потом стало сильно нехватать времени, да и по работе я переключился в бекенд. Хотя регулярно лезу в его make-файл для вдохновения, когда надо кастомный на коленке быстро набросать :)

Open source — это часть free software. Т.е. у тебя есть потребность, которую решает свободное ПО. Затем ты его модернизируешь и контрибутишь.
Т.е. использование ПО является первым и необходимым шагом.
Как-то так.
Этим оно и отличается от заказного, когда разработчик не использует повседневно результаты своего труда.

А фри не есть опен. И что?
В любом случае контрибутить стоит только во фри и это сложно сделать по закрытым исходникам.

Почему именно по-украински? Не лучше ли контрибьютить в тот же maven, jUnit или прочий Apache? Во-первых это mature-комьюнити из серьезных людей, во вторых котируется во всем мире, в резюме показать не стыдно. Ну и наконец это реально полезно, потому что используется миллионами по всеми миру.

Мне всегда казалось, что для этого серьезный уровень. Смогут ли разработчики уровня middle и тем более junior сделать что-либо полезное для таких китов?

Смогут, документации всегда не хватает по тому же Apache Camel например или по SOLR разных версий. Хорошо себя зарекомендовав там вполне возможно даже баги фиксить дадут, а там и до функционала недалеко.

То есть выбрать интересный для себя продукт и, постепенно завоевывать доверие его команды разработчиков? Длинный и тернистый путь :) Но наверное интересный. Спасибо.

Думаю на PHP тоже есть такие mature фреймворки. К тому же когда надумаете прыгнуть до техлида, участие в таких мировых community может изрядно помочь.

Отечественные разработки — это важнее миллионов во всем мире.
Кроме того на mature продуктах сидят десятки mature контрибуторов — туда еще встрять нужно.

Отечественные разработки — это важнее миллионов во всем мире.
На ум сразу приходят православные ЯП наших соседей. pics.livejournal.com/...an/pic/00ws9r16
И не важно что на нем писать мало кто будет, главное «отечественное».

А, к примеру, православный 1С на котором сидят все украинские бухгалтера на ум не пришло?

можно еще вспомнить православный язык ПРОФТ progopedia.ru/...language/proft . Это то, на чем точно мало кто сидит))))

Отечественные разработки — это важнее миллионов во всем мире.
Когда весь мир идет к глобализации, мы опять заводим шарманку «купуй украинське»?
Кроме того на mature продуктах сидят десятки mature контрибуторов — туда еще встрять нужно.
Если чел недостаточно хорош чтоб встрять в существующий проект, с чего вы взяли что ему стоит начинать пилить с нуля свой?

при чем тут глобализация? Украину должны знать в мире не только гастарбайтерами и майданами. Страна где куча програмистов но нет производства ПО а только аутсорс.

Я не понимаю что вы предлагаете? Создать опенсорс продукт, при этом анально огородив его от иностранных контрибьюторов, чтоб его пилили только украинцы?

при чем тут глобализация?
В open souce мире нет понятия страны происхождения проекта.
Собственно, как вы находите интересные для себя проекты, в которые возникает желаение внести свою лепту?
Нужно XYZ, нашёл проект для XYZ, проект кривой (или не может чего-то, или просто интересный), сел ковырять. Часто в обратном порядке. Других вариантов не знаю.

Поиск желающих «вообще» делал SF. Не работает.

Контрибють те, що використовуєш.

При чем здесь я и то, что я умею делать? Идея топика была в том, чтобы упростить поиск живых и нуждающихся в помощи опенсорсных проектов для разработчиков, у которых есть время и желание делать добро.

Найдут, но на перелопачивание гитхаба уйдет время. Почему бы не сделать доску обьявлений по этой теме, где потенциальные контрибьюторы смогут быстро находить проекты с интересующими их технологиями?

Думаю вот. Хотя судя по количеству отзывов в этой теме, он не особо кому-то нужен :)

Такие доски существуют и особенно никому не нужны.

только нужно механизм для отсеивания былдопроектов которых напихают чтобы найти рабсилу на шарка. Иначе через короткое время понадобится такое же перелопачивание

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

Підписатись на коментарі