Залучення до проекту з відкритим кодом [закрито]


19

Я спрямовуюсь на свій старший рік в галузі комп’ютерної інженерії та отримав стажування цього літа та осені. Оскільки я не буду робити домашніх завдань, я хотів би скористатися цією можливістю, щоб долучитися до якогось проекту з відкритим кодом. Я досвідчений на C, C ++, Java та Python. Я також досить добре знайомий з Linux, використовуючи його на своєму ноутбуці в даний момент, і всі мої заняття в цьому семестрі були зосереджені на ньому.

Я розглядав питання про Android або Ubuntu, але в минулому я відчував себе трохи переповненим. Хтось має поради? Цікавить, над яким хорошим проектом слід працювати, де розпочати роботу і чи дійсно я зможу зробити великий внесок.

І врешті-решт, як часто насправді приймаються зміни народів? Як часто я пишу код лише для відхилення?

tl: dr Шукайте більше досвіду програмування, беручи участь у відкритому проекті. Новим на сцені потрібна порада.


Я б сказав, що посадка тут, безумовно, варта!
шквал

6
Здається, це гарна ідея, але перевіряйте правила "місячного світла" в компанії, де ви проходите стажування. Деякі місця, особливо якщо це магазини програмного забезпечення, будуть дуже обмежувати те, що ви можете робити - навіть у свій час та на власний ПК.
Стів

1
можливо, подумайте про вивчення нової мови програмування, яка є більш декларативною, ніж ту, яку ви згадуєте. Як хаскелл або скала. Потім працюйте над проектом з відкритим кодом.
mrsteve

Відповіді:


15

+1 до Стіва Хей за згадування місячного світла.

Якщо ви працюєте в магазині програмного забезпечення, ви можете опинитися в ситуації, коли ваш роботодавець претендує на право власності на програмне забезпечення, над яким ви працювали у свій час. Перш ніж почати, проконсультуйтеся з роботодавцем, щоб уточнити політику місячних у вашій компанії.

Хорошим місцем для початку може стати OpenHatch . Вони є веб-сайтом, який допомагає людям брати участь у проектах з відкритим кодом. Вони зможуть надати вам список помилок "розміру", щоб розпочати роботу з будь-яким проектом, який підписався з ними, і може допомогти вам зв’язатися з іншими учасниками, які бажають наставити вас проект та / або мова на ваш вибір.

Прийняття ваших патчів вгорі за течією майже завжди залежить від якості патча та якщо він має супровідні тестові випадки. Багато проектів насправді не приймають патчі, якщо вони не включають тест, що підтверджує виправлення.
Оскільки якість вашого коду - це те, що буде суб'єктивно оцінено, будьте готові працювати з конструктивною критикою з боку технічних служб, що покращують, щоб покращити ваш код.


1
Їх політика щодо місячних - це те, чого я навіть не розглядав. Також OpenHatch.org виглядає досить круто. Зареєструйтесь прямо зараз, щоб перевірити це.
Тармон

2
Ще одна примітка про місячне освітлення, якщо ви запитаєте свого роботодавця, можливо, ви захочете зробити це електронною поштою для паперового сліду. Інакше, що заважає їм згодом змінити свою думку і сказати, що вони ніколи не відмовлялися від претензії на ваш проект? Просто думка.
Джефф Веллінг

Я не можу повірити, що це питання було закритим, тим більше, що воно має стільки чудових "відповідей", на основі думки чи ні!
Дейв Кантер

7

Як менеджер проекту з відкритим кодом (FireBreath) я б запропонував вам просто знайти проект, який ви використовуєте, або який вас цікавить, і шукати шляхи, яким ви можете допомогти. Ви можете багато чого зробити, навіть не написавши жодного коду. У нашому проекті нам потрібні люди, які допоможуть:

  • Тестуйте та повідомляйте про помилки
  • Оновіть документацію на веб-сайті
  • Допоможіть написати вторинні інструменти
  • Побалакайте в кімнаті IRC та допоможіть новим користувачам
  • Створіть приклади плагінів за допомогою FireBreath, щоб нові користувачі могли їх переглянути

Звичайно, вони характерні для мого проекту (і ви можете допомогти! ;-), але у всіх проектах є такі речі, які можуть внести нові користувачі. Мій останній внесок в інший проект полягав у тому, щоб додати інструмент для кращого управління дозволами сховища підстановки на гітоліт. Дотримуйтесь проектів, які вам цікаві або можете скористатися!

Удачі!


Я навіть не думав про такі речі. Дякуємо за пропозиції. Я піду пошукати новий проект, який потребує таких речей.
Андрій

+1 для документації. Як координатор SharePoint SUSHI, однією з найнасипніших і найскладніших речей є документи, але вони також є найважливішими для нових користувачів. Допомагаючи там, ви також ознайомитеся з особливостями проекту та способом його роботи.
Райан Хейс

3

Я не можу сказати, який проект ти повинен обрати - це залежить від тебе. Однак я можу сказати вам, як долучитися: якщо ви відчуваєте пристрасть до якогось проекту, тобто використовуєте додаток досить довгий час (для ОС це може бути не так просто), ви завжди можете надсилати виправлення із запропонованими змінами (удосконаленнями, виправлення помилок) і попросіть власників проектів переглянути / інтегрувати.
Це досить просто з проектами на GitHub - просто створіть свій патч та надішліть запит на тягу.
У будь-якому випадку, чим більше цінних патчів ви подаєте, тим більше шансів, що вони вітатимуть вас до основної команди.


2

Якщо ви не знаєте певної мови, все ще багато заходів, які високо цінуються. Вони включають тестування, написання навчальних посібників, написання документацій API, створення веб-сайту для проектів тощо. Якщо у вас є особливий інтерес, знайдіть проект у цій галузі та внесіть знання про домен. (Наприклад, у нас є активна спільнота проектів ОС з хімії).


2

Щоб потрапити в проекти з відкритим кодом, попросіть представника на OpenHatch - ось їхня ціла місія:

проект з відкритим кодом з метою зменшення перешкод для вступу у внесок у відкритий джерело та збільшення різноманітності. Ми досягаємо цих цілей завдяки ряду ініціатив ...


2
Ви б не хотіли пояснити детальніше про те, що це робить, і чому ви рекомендуєте це відповісти на поставлене запитання? "Відповіді лише на посилання" не дуже вітаються на біржі стеків
gnat

1

Наприклад, Mozilla завжди шукає програмістів на C ++ для розробки та тестування своїх проектів. Це надзвичайна для нового учасника, щоб завантажити масивну кодову базу і витратити години на її створення. Потім потрібно близько півроку, де ви проводите в середньому 10+ годин на тиждень, щоб познайомитися з ним і зрозуміти помилку чи дефект чи щось подібне. Потім незабаром ви зможете зрозуміти, як виглядати відтворювати, ізолювати, виправляти, тестувати, регресійний тест, застосовувати патч. Коли ви робите це більше, ви можете отримати прямий доступ для запису до бази коду, контролювати функцію тощо. Я вважаю, що це стосується кожного зрілих проектів, в яких працює багато людей.

З іншого боку, багато проектів вмирають, оскільки їх немає кому розробити. Може бути важко знайти людей, які можуть допомогти вам або документацію в таких видах.

Щоб досягти балансу між цими крайнощами, ви можете знайти програму, яку потрібно використовувати часто або щодня. Продовжуйте використовувати його достатньо, щоб незабаром максимально встановити його набір функцій. Можливо, розвинути якусь спорідненість до використання його над іншими варіантами. Тоді ви можете або надіслати запит на функцію, або взяти його на себе, оскільки ви, ймовірно, будете самим зрозумілим пропонованою вами функцією. На перший погляд, цей варіант дає вам відчути, що ви ніколи не збираєтеся максимально використовувати функції програми. Якщо ви будете залишатися з ним достатньо довго, вам буде потрібно програма зробити більше, ніж те, що вона може насправді зробити. Це може бути виправлення безпеки / конфіденційності, або тонка річ, або покращення юзабіліті.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.