чому я хотів би розмістити код десь так?
Ключовим моментом розробки програмного забезпечення з відкритим кодом є обмін вихідним кодом. Існує кілька способів зробити це, як розміщення tar / zip-файлів на веб-або ftp-сервері. Такі сервіси, як код Google (або sourceforge.net, gitorious.org, bitbucket.org та багато інших) позбавляють необхідності запускати власні сервери для цього.
І це означає, що я маю зняти сайт з мого поточного хостингу, чи це зовсім інший тип хостингу?
Ці сервіси не є веб-хостами загального призначення, але працюють із спеціалізованими службами. Вони призначені не для домашньої сторінки продукту, а більше для інформаційної панелі розробника.
З кодом google, який ви отримуєте
- вікі
- клопітка
- звичайний простір для завантаження файлів
- сервер управління версіями
Звичайно, ви можете налаштувати це програмне забезпечення на звичайному веб-сервері (матеріали контролю версій можуть бути складними, але це залежить від деталей), але головна перевага використання хостеру розробки полягає в тому, що вам не потрібно дбати цих систем для себе. Основний недолік полягає в тому, що ви не маєте контролю над тим, яке програмне забезпечення використовується на сервері, ви повинні жити з тим, що доступно на цьому хості. Вам також потрібно врахувати, що станеться, якщо сервіс не працює (нормально, Google ніколи не виходить з ладу), і якщо ви можете перенести дані з поточного хоста на інший або власний сервер (подумайте про резервні копії).
Що відбувається, коли я роблю свій сайт відкритим кодом, які права я маю,
Це складне питання, оскільки це залежить від законодавства країни, де ви живете.
які права я віддаю.
Це залежить від ліцензії, яку ви надаєте продукту. Він може перейти з власного відкритого коду (подумайте про PGP), де користувач в основному нічого не може зробити з кодом, на іншому кінці шкали є загальнодоступним доступом, де кожен може робити все, що завгодно.
Як це працює, чи просто люди приходять і безкоштовно кидають на мене код?
Це навряд чи станеться, оскільки ваш продукт потребує достатньої популярності, щоб залучити інших розробників.
[...] і тепер мене запитують, чи хочу я, щоб проект мав розміщення коду Git, Mercurial або Subversion.
Це три різні системи управління версіями, де Subversion є централізованою, а Git та Mercurial розподілені.
Існують релігійні війни, щодо яких можна скористатися, але головний - використовувати. Докладнішу інформацію див. У розділі http://martinfowler.com/bliki/VersionControlTools.html .
Коли вибрати Subversion:
- У вас є бінарні файли, які неможливо легко з’єднати, і вам потрібен замок-> модифікувати-> здійснити-> розблокувати робочий процес, який підтримує субверсія¹
- Потрібно перевірити лише частину структури каталогу.
¹ Існує розширення блокування для mercurial, але я не маю досвіду роботи з цим, і не можу сказати, чи він є корисним.
Коли вам не потрібні попередні функції, краще використовувати Mercurial або Git. Обидва мають наступні переваги перед Subversion:
- швидко (а з швидким я справді маю на увазі швидкий )
- просте розгалуження та об'єднання (це стало краще після Subversion> = 1,5, але це не те саме)
- виконувати передачу та публікувати нерозривно, тож ви можете без особливих порушень працювати над функцією та публікувати роботу, коли вона виконана
- вони відстежують стан каталогу продукту в цілому
- Ви отримуєте повну копію всієї історії версій, коли клонуєте віддалений сховище
криптографічно захищені номери версій, це означає, що навіть коли хтось перерветься на сервері, він не може поставити код на місці, не змінюючи історію редагування
- але оскільки ніхто не перевіряє ці зміни, ця функція практично не є ефективною