как открыть исходный код приложения
Как посмотреть исходный код приложения Android
С каждым днем приложений для Android становится все больше и больше. Миллионы интересных игр и полезных программ можно найти в Play Market. Все они имеют удобный интерфейс и справляются с поставленной задачей. Без них сложно представить современный мир информационных технологий. Эта статья ориентирована на людей, которые не только ценят функционал и внешний вид приложений, а еще и интересуются их внутренним устройством.
Если Вам когда-либо было интересно, что находится «под капотом» любимого приложения, и вы немного смыслите в программировании — эта статья для Вас. Мы расскажем, как посмотреть исходный код приложения Android прямо на вашем гаджете. Поехали!
Общие сведения
Большинство программ для ОС Android, как и большая часть самой операционной системы, написаны на языке программирования Java. А это значит, что посмотрев в исходный код программ Android, мы, скорее всего, увидим Java код с использованием Android SDK (которая включает в себя инструменты платформы Android). Повторюсь: чтобы понимать исходный код приложений, нужно иметь базовые знания Java и принципы работы Android.
Как узнать исходный код приложений Android?
Для начала скачайте приложение, исходный код которого Вас заинтересовал. Затем зайдите в Play Market и скачайте утилиту под названием Show Java. Именно она будет заниматься декомпилированием. Установили? Отлично, а теперь перейдем к самому интересному — извлечению исходного кода Android программы. Запускаем Show Java.
Выберите нужное приложение из установленных, или найдите его на SD карте. Теперь нужно выбрать декомпилятор. Я обычно выбираю CRF. Если возникнут проблемы — пробуйте JaDX.
Начнется декомпиляция программы. Это может занять некоторое время. Чем больше приложение — тем дольше декомпилятор будет доставать исходные коды. Пока вы ждете результата, почитайте о перспективных языках программирования.
По завершению процесса вы получите список пакетов с исходниками Android приложения. Конечно, это не 100% копия кода, которую писали разработчики этого приложения. Но основная логика сохраняется, разобрать не сложно. Что делать с исходниками? Что угодно. Смотрите, разбирайте, возможно Вам будут интересны некоторые «фичи» или особенности реализации функционала программы.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Как извлечь код программы из ехе файла?
Можно ли как-нибудь из ехе-файла получить дизассемблированый код
Можно ли как нибудь из ехе файла получить дизассемблированый код на FASM\MASM?
Как узнать исходный код файла-ЕХЕ для Visual Basic 6.0?
Здравствуйте! Прошу помощи. Как узнать P-Code? Научите, пожалуйста, пользоваться компиляторами и.
Как средствами Delphi реализовать извлечение ехе файла при запуске ехе?
Здорова, народ. Как средствами Delphi реализовать извлечение ехе файла при запуске ехе? Заранее.
смешно, хоть и флуд.
можете поискать, но скорее всего, ничего, удовлетворяющего вашим требованиям вы не найдете.
можете поискать, но скорее всего, ничего, удовлетворяющего вашим требованиям вы не найдете.
и хватит хамить.
я хоть в этом разделе уже и не модератор, но репу загадить могу по самый бан.
и хватит хамить.
я хоть в этом разделе уже и не модератор, но репу загадить могу по самый бан.
ну вот сейчас вменяемое объяснение. это так сложно сразу нормально писать.
То что можно только повторить примерный листинг пользуясь диззасемблером/декомпилятором это и говорилось автору сразу, но он сам этого мало понимает в силу своих очень скудных познаний (да и интелектуальный потенциал этого индивида тоже вызывает сомнения)
>>1)автор хочет исходник для Студии; от бишь с шаблонами диалогов, ДОТНЕТОМ, и прочими финтифлюшками. это специфические реализации С++
с++ это не дотнет, дотнетовские проги просматриваются CLR просмоторщиками (который входит в состав студии)
Как просмотреть исходный код программного обеспечения с открытым исходным кодом
Когда разработчики выпускают свое программное обеспечение с открытым исходным кодом, это показывает, что они заслуживают доверия и щедры. Программное обеспечение с открытым исходным кодом был одним из главных моментов, которые лично помогли мне начать работать программистом-самоучкой.
Чтобы проект был открытым, разработчик должен сделать его исходный код общедоступным, чтобы любой желающий мог его изучить и извлечь уроки. Важно отметить, что это также показывает, что у разработчика нет злонамеренных намерений, поскольку открытый исходный код позволяет пользователям компилировать свои собственные двоичные файлы, а не использовать предоставленные.
Если вам когда-либо приходилось сталкиваться с двумя программами, и вы не можете определить, какое из них использовать, проверьте, является ли один из них открытым, а другой — нет. Если это так, ваш выбор должен быть ясным.
Однако, если вы хотите учиться или даже добавлять к коду исходного кода программного обеспечения, это также вариант. Для этого вам нужно знать, как просматривать исходный код. В этой статье давайте поговорим о том, как вы можете это сделать.
Как найти исходный код
После того, как вы нашли часть программного обеспечения с открытым исходным кодом, которое вы хотели бы просмотреть в исходном коде, первым делом нужно выяснить, как сделать исходный код проекта доступным.
В большинстве случаев исходный код будет размещаться на крупнейшей веб-платформе управления версиями, GitHub,
GitHub был основан в 2008 году и приобретен Microsoft в 2018 году. Это глобальная платформа для разработки программного обеспечения, которая предлагает все функции управления исходным кодом: Гитнаряду с собственными функциями, которые расширяют возможности совместной работы и функции контроля версий.
Чаще всего разработчики размещают свой открытый исходный код на GitHub. Несколько примеров программного обеспечения, о котором вы, вероятно, слышали, с исходным кодом, доступным на GitHub: LibreOffice, GIMP, а также VLC медиаплеер,
С помощью Функция поиска GitHubвы должны быть в состоянии найти и просмотреть исходный код практически для каждого крупного программного проекта с открытым исходным кодом.
Как просмотреть исходный код
Найдя репозиторий GitHub, в котором находится исходный код программного обеспечения, вы обнаружите, что все организовано в базовом дереве каталогов. Для файлов GitHub делает просмотр кода очень простым.
Как платформа для разработки, GitHub аккуратно форматирует исходный код через веб-интерфейс. Почти все авторитетные проекты будут включать README.md, который представляет собой файл уценки, который отображает полезную информацию о хранилище и его структуре. Когда вы перейдете к хранилищу, прокрутите вниз, и вы увидите содержимое этого файла.
Как только вы выясните, где в репозитории находится интересующий вас код, все, что вам нужно сделать, — это щелкнуть по дереву каталогов репозитория, чтобы найти, куда вы хотите перейти.
Щелчок по файлу отобразит его с правильной подсветкой синтаксиса.
Для быстрой проверки веб-интерфейс GitHub отлично подходит. Однако для более сложного исходного кода вам может потребоваться просмотреть несколько файлов одновременно или в течение длительного периода времени. В этом случае мы рекомендуем скачать и просмотреть исходный код через Текстовый редактор, например, Sublime Text.
Загрузка исходного кода
Загрузка репозитория с GitHub занимает всего два клика.
В верхней части каждого репозитория, под строкой, отображающей общее количество коммитов, веток, пакетов, выпусков и участников, вы увидите зеленую кнопку с надписью Клонировать или загрузить. Нажмите на нее и выберите Скачать ZIP.
По умолчанию начнется загрузка главной ветви текущего репозитория в виде файла ZIP. По завершении все, что вам нужно сделать, это извлечь архив в локальную папку на вашем компьютере. Затем, используя текстовый редактор, вы можете открыть любой из файлов репозитория гораздо быстрее, не требуя браузера.
Если вы не опытный кодер, GitHub может сначала немного запутать. Если вы просто думаете об этом как об открытом каталоге исходного кода, с readme на верхнем уровне, это не слишком пугающе. Просмотр исходного кода с помощью GitHub прост, как локально, так и через его веб-интерфейс.
Как исследовать приложение для Android
Russian (Pусский) translation by Ilya Nikov (you can also view the original English article)
Общеизвестно, что приложения для Android распространяются в виде файлов пакетов Android Application, или файлов APK для краткости. Тем не менее, большинство людей смотрит на APK как черный ящик и понятия не имеет, как оно создано или что внутри него. Даже у большинства разработчиков приложений есть только поверхностное понимание анатомии APK. В интегрированных средах разработки, таких как Android Studio, требуется всего один щелчок, чтобы преобразовать проект Android в APK.
В этом уроке мы рассмотрим приложение для Android. Другими словами, мы собираемся открыть APK и посмотреть его содержимое. Кроме того, поскольку APK является двоичным файлом, предназначенным только для чтения машинами, я также расскажу вам о нескольких инструментах, которые вы можете использовать для перевода его содержимого в более удобочитаемую форму.
Предпосылки
Чтобы следовать, вам нужно:
1. Зачем заглядывать внутрь в APK?
Многие люди делают это из чистого любопытства. Другие пользуются возможностью прямого доступа к изображениям, звукам и другим активам своих любимых игр или приложений. Однако есть более важные причины, по которым вы хотели бы заглянуть внутрь APK.
Обучение
Если вы только начали изучать разработку приложений для Android, вы можете многому научиться, просматривая APK-файлы популярных приложений или приложений, созданных профессионалами. Например, просмотрев файлы макета XML приложения, которые хорошо смотрятся на нескольких размерах экрана, вы можете улучшить свои собственные навыки создания макета.
Безопасность
Приложения, загруженные из ненадежных источников, могут содержать вредоносный код. Если вы уже являетесь опытным разработчиком приложений, разобрав такие приложения, вы можете посмотреть их код, чтобы лучше понять, что они действительно делают под капотом.
2. Как создается APK?
Не так много можно узнать из APK без базового понимания того, как он создается. Фактически, наиболее важные инструменты, используемые для анализа APK, также являются инструментами, используемыми для его создания.
Проекты Android состоят в основном из исходного кода Java, XML-макетов, метаданных XML и активов, таких как изображения, видео и звуки. Прежде чем операционная система Android сможет использовать все эти файлы, их необходимо преобразовать в форму, которую она понимает. Это преобразование включает в себя множество промежуточных задач, которые обычно называются процессом сборки Android. Конечным результатом процесса сборки является APK или пакет приложений для Android.
В проектах Android Studio Android-плагин для Gradle обрабатывает все промежуточные задачи процесса сборки.
Одной из первых важных задач является создание файла с именем R.java. Это файл, который позволяет разработчикам легко получать доступ к макету проекта и ресурсам в своем Java-коде с помощью числовых констант. Для создания файла используется инструмент под названием aapt, который является коротким для Android Asset Packaging Tool. Инструмент также преобразует все ресурсы XML вместе с файлом манифеста проекта в двоичный формат.
Все файлы Java, включая R.java, затем преобразуются в файлы классов с использованием компилятора Java. Как вы уже знаете, файлы классов состоят из байт-кода, который может быть интерпретирован механизмом выполнения Java. Однако Android использует специальный тип Android runtime (ART), который оптимизирован для мобильных устройств. Поэтому, как только все файлы классов были сгенерированы, инструмент, который называется dx, используется для перевода байт-кода в байт-код Dalvik, формат, который понимает ART.
После обработки ресурсов и файлов Java они помещаются в файл архива, который очень похож на файл JAR. Затем архивный файл подписывается с использованием закрытого ключа, который принадлежит разработчику приложения. Эти две операции выполняются плагином Gradle без использования каких-либо внешних инструментов. Ключ разработчика, однако, получен из хранилища ключей, управляемого keytool.
Наконец, c файлом архива делается несколько оптимизаций с использованием инструмента zipalign, чтобы убедиться, что память, которую приложение потребляет во время работы, сведена к минимуму. На данный момент архивный файл является допустимым APK, который может использоваться операционной системой Android.
3. Анализ содержания APK
Теперь, когда вы понимаете, как файлы APK создаются и используются, давайте откроем их и посмотрим на его содержимое. В этом уроке мы используем APK приложения под названием Sample Soft Keyboard, которое предварительно устанавливается на эмулятор Android. Однако, если вы предпочитаете использовать физическое устройство, вы можете так же легко использовать APK любого приложения, которое вы установили на нем.
Шаг 1: Перенос APK на компьютер
Вывод команды выше выглядит следующим образом:
Шаг 2: Извлечение содержимого APK
Если вы разработчик приложений, многие файлы в APK должны выглядеть знакомыми. Однако, помимо изображений в папке res, файлы находятся в формате, с которым вы не можете работать без помощи нескольких инструментов.
Шаг 3: Расшифровка двоичных файлов XML
Android SDK включает в себя все инструменты, необходимые для анализа содержимого APK. Вы узнали ранее, что aapt используется для упаковки ресурсов XML во время процесса сборки. Он также может использоваться для чтения большого количества информации из APK.
Например, вы можете использовать опцию dump xmltre e для чтения содержимого любого двоичного XML-файла в APK. Вот как вы можете прочитать файл макета с именем res/layout/input.xml:
Результат должен выглядеть примерно так:
Это не XML, но благодаря отступу и ярлыкам, например N для пространства имен, E для элемента и атрибуту A, вы должны быть в состоянии прочитать его.
Шаг 4: Расшифровка строк
На предыдущем шаге вы видели, что дешифрованный XML имеет шестнадцатеричные числа вместо строк. Эти числа являются ссылками на строки в файле с именем resources.arsc, который представляет собой таблицу ресурсов приложения.
Вы можете использовать параметр dump resources для aapt для просмотра таблицы ресурсов. Вот как:
Из вывода команды вы можете определить точные значения строк, используемых в приложении. Вот запись для одного из шестнадцатеричных чисел в XML:
Шаг 5: Разборка Dalvik Bytecode
Наиболее важным файлом в APK является class.dex. Это файл, который используется во время работы приложения Android во время запуска приложения. Он содержит байт-код Dalvik, сгенерированный во время процесса сборки.
Разбрав этот файл, вы можете получить информацию о классах Java, используемых в приложении. Для этого вы можете использовать инструмент, называемый dexdump. С помощью следующей команды вы можете перенаправить вывод файла dexdump в файл, который может быть открыт любым текстовым редактором.
Если вы откроете classes.dasm, вы увидите, что у него есть сотни строк низкоуровневого кода, который выглядит так:
Объем информации, доступной в формате XML, меньше, но дает вам представление о классах Java, методах и полях, присутствующих в приложении.
Заключение
В этом уроке вы узнали, как создается APK и что он содержит. Вы также узнали, как использовать инструменты, доступные в Android SDK, для расшифровки содержимого файлов APK. Документации об этих инструментах не так много, но поскольку все они с открытым исходным кодом, вы можете попробовать прочитать их подробный код с комментариями, чтобы узнать о них больше.
Если вы ищете что-то более простое в использовании, вы можете попробовать использовать популярные сторонние инструменты, такие как dex2jar, который генерирует более читаемый дизассемблированный код или JADX, декомпилятор, который может генерировать Java-код.
Open Source Guides: Запуск проекта с открытым исходником
Предисловие переводчика
Пару месяцев назад на Гитхабе случайно наткнулся на ссылку «Open source guides» и не мог оторваться. Где-то за неделю я внимательно прочитал все 10 разделов. Конечно, я и раньше знал про open source: читал разные статьи (например, «Понять Open Source»), использовал такие проекты в работе, обращался с вопросами к сообществам, сообщал о багах, рыскал в issues и, даже делал неуклюжие попытки что-то улучшать, хотя бы документацию. И само собой, сердцем я был с этими ребятами, которые делятся софтом и знаниями по его использованию. Тем не менее, понятие об open source у меня было скорее смутное и обрывочное. А эта статья добавила ясности.
К тому же, у меня была пара проектов, которые я планировал запустить в этом формате, с надеждой на поддержку сообщества, и со многими сопутствующими страхами и сомнениями, и снова эта статья помогла мне утвердиться в намерении и подсказала практические шаги.
Вне зависимости от вашего отношения к open source, думаю, вы найдёте в этой серии из 10 статей много интересных идей и фактов: организационных, психологических, юридических, этических и технических.
Я дал прочитать этот текст нескольким непрограммистам, они сказали, что всё поняли. А в заголовке статьи я намеренно поставил «исходник» без «кода», потому что данная тема актуальна не только для программистов, а почти для любой интеллектуальной деятельности в формате открытого проекта.
Само это руководство также является open source и уже переведено на 14 языков. Мне выпала честь добавить русскую ветку и перевод первой статьи. Я планирую и дальше переводить по статье в неделю. Если кто хочет подключиться, вот репозиторий: Open Source Guides.
Если вдруг кому-то понадобится заставка из шапки статьи (иллюстрации + русские названия), то она есть в сверстанном виде на codesandbox.io.
Подбор терминов
Я заранее извиняюсь за огрехи в переводе. Некоторые, казалось бы банальные термины, не так легко подобрать на русском. Например, to contribute, pull request, issue, я чаще переводил как «участвовать в проекте, предлагать исправления и вопрос». Open source я пока оставил на английском. Мне уже сделали замечание и выслали ссылку на словарь терминов Гитхаба. Мне не понравилось там обилие транслитерация. Если пустить в статью все эти ишью, пулреквест, пуш, пул, форк, то она станет непонятной для всех, кто не работал с Гитхабом.
Оглавление
Открытый исходный код: что это и зачем?
Итак, вы думаете о запуске своего проекта с открытым исходным кодом (open source)? Поздравляем! Мир ценит ваш участие. Давайте поговорим о том, что такое open source и почему люди это делают.
Что означает «open source»?
Когда код проекта открыт, это означает, что любой может свободно использовать, изучать, изменять и распространять ваш проект для любых целей. Эти разрешения даются через лицензию с открытым исходным кодом.
Преимущество открытого кода в том, что он снижает барьеры для выбора вашей программы и сотрудничества, позволяя людям быстро распространять и улучшать проекты. Кроме того, это дает пользователям возможность контролировать код, в отличии от закрытого. Компания, использующая программное обеспечение (ПО) с открытым исходным кодом, может нанять кого-то для внесения улучшений в ПО, а не полагаться исключительно на решение поставщика с закрытым исходным кодом.
Свободное ПО (Free software) ссылается на те же проекты, что и открытое ПО (open source). Иногда вы можете встретить комбинации этих терминов: «Свободное и открытое ПО» (free and open source software FOSS или free, libre, and open source software FLOSS). Слова free и libre здесь означают «свободное», а не «бесплатное».
Почему люди делают свою работу открытой?
Одно из самых больших вознаграждений, которое я получил от open source — это отношения, установившиеся с другими разработчиками, столкнувшимися с такими же проблемами как и я.
@kentcdodds, «Как мне было здорово войти в Open Source»
Есть много причин почему индивид или организация открывают исходники своего проекта. Вот некоторые из них:
Open source — значит бесплатно?
Бесплатность open source — это одно из его самых больших преимуществ, но не единственное, а скорее — побочный продукт его совокупной ценности.
Поскольку открытая лицензия предполагает, что кто угодно может использовать, модифицировать, и распространять ваш проект почти для любых целей, то в большинстве случаев это подразумевает бесплатность. Потому что, если бы вы просили плату, то люди бы скачивали проект и использовали его бесплатно, абсолютно легально.
Поэтому большинство open source проектов бесплатны, но это не входит в определение open source. Существуют способы взимания платы за проекты с открытым исходным кодом косвенно, через двойное лицензирование или ограниченные функции, но при этом они соответствуют официальному определению open source.
Стоит ли мне запускать свой open source проект?
Краткий ответ — да, потому что независимо от результата, запуск своего проекта — это хороший способ понять, как работает open source.
Если вы никогда прежде не запускали подобных проектов, вы можете переживать: «что скажут люди?», «а вдруг вообще никто его не заметит?». Если вам это знакомо, не беспокойтесь, вы не один такой!
Open source, как и любая творческая работа, будь то писательство или рисование, вызывает волнение прежде чем поделиться ей с миром. Но единственный способ улучшить её — практиковаться, даже если у вас не будет аудитории.
Если вы ещё не решились, найдите время подумать о ваших возможных целях.
Постановка целей
Цели помогут вам определиться, над чем работать, от чего отказаться, и где вам понадобится помощь со стороны. Спросите себя: «зачем я опенсорсю этот проект?».
Единого ответа на этот вопрос не существует. Вы можете иметь много целей для одного проекта, или разные проекты с разными целями.
Если ваша цель просто показать свою работу и нет нужды в сотрудничестве, вы можете так и написать в файле README. С другой стороны, если вы заинтересованы в помощниках, то вам следует вложить своё время в написание понятной документации и проявлять заботу о новичках.
Однажды я сделал настраиваемый UIAlertView для своих нужд… и решил сделать его open source. Я сделал его более динамичным и загрузил на GitHub. Я так же написал свою первую документацию, объясняющую другим разработчикам, как они могут использовать мою работу в своих проектах. Возможно, ей так никто и не воспользовался из-за её простоты. Но зато я испытал хорошее чувство от всего этого процесса.
mavris@mavris, «Программисты самоучки: Почему Open Source важен для нас»
По мере роста проекта ваше сообщество будет нуждаться не только в коде. Ответы на вопросы (issues), проверка кода, распространение информации о себе — всё это важные задачи open source проекта.
Хотя количество времени на непрограммистские задачи зависит от размера и масштаба вашего проекта, вы должны быть готовы решать их сами или найти для этого помощника.
Если вы — часть компании, запускающей open source проект,, убедитесь заранее, что вы имеете внутренние ресурсы для его развития. Назначьте ответственного за сопровождение после запуска и определите, как будут распределяться задачи внутри сообщества.
Если вам нужен выделенный бюджет или персонал для продвижения, эксплуатации и поддержки проекта, обговорите это как можно раньше.
Когда вы начинаете open source проект, важно, чтобы процессы управления в организации учитывали вклад и возможности сообщества, образовавшегося вокруг проекта. Не бойтесь вовлекать посторонних людей, даже в ключевых аспектах, особенно если они активно участвуют.
@captainsafia, «Чё, хочешь открыть код проекта?»
Участие в чужих проектах
Если ваша цель — понять как взаимодействовать с другими и как работает open source, рассмотрите возможность участия в уже существующем проекте, который вы используете и любите. Вашим участием могут быть такие простые вещи, как исправление опечаток и обновление документации.
Если вы не понимаете, как начать участие в чужом проекте, ознакомьтесь с нашим руководством Как участвовать в open source проекте.
Запуск собственного open source проекта
Нет идеального момента, чтобы открыть исходники своей работы. Вы можете открыть их на стадии идеи, в процессе работы или после нескольких лет закрытости.
В общем случае, открывать исходники можно, когда вы чувствуете себя уверенно настолько, чтобы показать свою работу посторонним людям и получать их отзывы.
Каждый проект вне зависимости от стадии, на которой вы решили открыть исходники, должен иметь следующую документацию:
Если ваш проект на Гитхабе и вы разместите эти файлы в корневой категории с рекомендованными названиями, Гитхаб распознает их и будет автоматически отображать для ваших читателей.
Выбор лицензии
Лицензия для открытого исходного кода гарантирует, что другие могут использовать, копировать, изменять и вносить правки в ваш проект без каких-либо последствий. Она также защищает вас от неприятных юридических ситуаций. Вы должны включить лицензию при запуске проекта с открытым исходным кодом.
Юридическая работа — не из легких. Но есть хорошие новости: вы можете скопировать существующую лицензию и разместить её в своём репозитории, за одну минуту защитив ваш тяжелый труд.
MIT, Apache 2.0, и GPLv3 — это самые популярные лицензии, но есть и другие варианты для выбора.
Когда вы создаёте новый проект на Гитхабе, вам дается на выбор несколько лицензий. Выбрав open source лицензию, вы сделаете свой проект — открытым.
Если у вас есть другие вопросы или беспокойства относительно юридических аспектов open source, мы описали их здесь.
Составление README
Файл README («прочитай меня») не только рассказывает, как использовать ваш проект, но и объясняет, почему он важен, и что пользователи могут с ним делать.
Постарайтесь ответить в README на следующие вопросы:
Хорошая документация — это больше пользователей, меньше просьб о помощи, и больше соавторов. (. ) Помните, что ваши пользователи — не вы. Это могут быть люди с опытом — сильно отличным от вашего.
@tracymakes, «Писать так, чтобы ваши слова читали (видео)»
Иногда люди откладывают написание README, потому что чувствуют, что проект не завершен, или не хотят принимать доработки других людей. Но это как раз хороший повод написать об этом.
Когда вы добавляете файл README в корневую директорию проекта, Гитхаб автоматически отображает его на главной странице репозитория.
Написание руководства для участников
Файл CONTRIBUTING говорит вашей аудитории, как стать участником вашего проекта. Например:
В первую очередь хотим выразить вам благодарность за то, что подумываете об участии в развитии Active Admin. Именно такие люди как вы делают Active Admin прекрасным инструментом.
На ранних стадиях проекта ваш файл CONTRIBUTING может быть простым. Вы всегда должны объяснить как сообщать об ошибках и оформлять вопросы, а так же описать технические требования к правкам участников (например, тесты).
Со временем вы можете дополнить его ответами на часто задаваемые вопросы. Благодаря этому меньше людей будут спрашивать вас об одном и том же снова и снова.
Чтобы вам было проще составить файл CONTRIBUTING, ознакомьтесь с @nayafia’s шаблоном руководства по сотрудничеству или mozilla’s «Как составить файл CONTRIBUTING.md».
Поставьте ссылку на файл CONTRIBUTING внутри README, так больше людей увидят его. Если вы разместите файл CONTRIBUTING.md в корне вашего проекта, то Гитхаб будет автоматически ссылаться на него, когда кто-то открывает новый вопрос (issue) или добавляет правку в проект (pull request).
Разработка кодекса поведения
Все мы сталкивались с неприятными ситуациями, когда хозяин проекта грубо объяснял что-то или пользователи задавали элементарные вопросы. (. ) Кодекс поведения становится документом, на который легко ссылаться, и который говорит, что ваша команда очень серьезно относится к конструктивному диалогу.
@mlynch, Делаем open source более счастливым местом
В итоге, кодекс поведения задаёт базовые правила поведения для участников вашего проекта. Это особенно важно, если вы запускаете проект для компании или сообщества. Кодекс поведения способствует установлению здорового, конструктивного поведения в сообществе, что снижает стресс для вас, как для ответственного за проект.
Помимо описания каким вы хотите видеть поведение участников, кодекс поведения также разъясняет, к кому и когда он применяется, и что будет в случае его нарушения.
По аналогии с лицензией, вам не обязательно писать кодекс самим, а можно скопировать один из существующих вариантов. Соглашение участника используется в более 40,000 open source проектах, включая Kubernetes, Rails, и Swift. Какой бы кодекс вы не использовали, вы должны быть готовы применить его при необходимости.
Поместите файл CODE_OF_CONDUCT.md в корень вашего проекта, так его будет проще находить и ссылаться на него, например, из README.
Именование и брендирование вашего проекта
Брендирование — это не только броский логотип и запоминающееся название, но и то, как вы говорите о своём проекте и до кого доходит ваше послание.
Выбор правильного названия
Выберите название, которое легко запомнить и, в идеале, даёт представление о сути проекта. Например:
Выбирайте в пользу понятности. Каламбуры могут быть забавными, но подумайте о людях из других культур или с отличным от вашего опытом, которые могут не понять шутку. Ваши потенциальные пользователи могут быть работниками компаний, которые будут рассказывать о вашем проекте начальству. Не заставляйте их краснеть при этом.
Конфликт имён
Проверьте наличие open source проектов с таким же названием, особенно если вы используете один и тот же язык или экосистему. Если ваше название совпадёт с популярным существующим проектом, вы можете запутать свою аудиторию.
Если вы планируете завести сайт, твиттер или любую площадку для публикаций, убедитесь, что нужное вам название там свободно. И лучше зарезервируйте эти имена сейчас для душевного спокойствия, даже если пока не планируете ими пользоваться.
Убедитесь, что вы не посягаете на торговую марку какой-нибудь компании. В будущем она сможет попросить вас закрыть проект или даже подать в суд. Это неоправданный риск.
Вы можете проверить конфликт брендов по всемирной базе брендов WIPO. Если вы делаете проект от лица компании, то юридический отдел может помочь вам с этим.
Напоследок, сделайте быстрый поиск в Google по названию вашего проекта. Смогут ли люди по нему легко найти ваш проект? А может быть, по этому запросу появляется что-то нежелательное?
То, как вы пишите (и кодите) тоже влияет на ваш бренд!
За всю жизнь проекта вы будете много писать: README, руководства, документы сообщества, ответы на вопросы, возможно даже информационные бюллетени и списки рассылки.
Будь то официальная документация или обычное сообщение, ваш стиль письма — это часть бренда проекта. Подумайте о том, в каком свете вы выглядите перед аудиторией, и правильный ли подобрали тон.
Я старался участвовать в каждой теме в списке рассылки и показывать образцовое поведение, быть доброжелательным к людям, серьезно относиться к их проблемам и быть полезным в общем. Через некоторое время люди стали не только задавать вопросы, но и помогать с ответами, и, к моему полному восторгу, они подражали моему стилю.
@janl, CouchDB, «Устойчивый Open Source»
Добрый и вежливый язык создаст приятную атмосферу для новых участников. Следите так же за простотой изложения, так как для многих читателей английский может быть не родным.
Не только слова, что вы пишете, но и стиль кода может стать частью бренда вашего проекта. Angular и jQuery два примера проектов со строгими стилями и рекомендациями.
Нет необходимости составлять руководство по стилю, когда вы только начинаете, и в любом случае вы наверняка захотите включать в свой проект разные стили. Но вы должны заранее понимать, что ваш стиль письма и кода будет привлекать одних людей и отталкивать других. Ранние стадии проекта — это возможность создать прецедент, из которого будет расти проект в желаемом для вас виде.
Проверочный лист перед запуском
Вы готовы открыть свой проект? Вот вам проверочный лист в помощь. Когда отметите все пункты, нажмите «опубликовать» и похвалите себя.
Документация
Если вы частное лицо: