Logo uk.androidermagazine.com
Logo uk.androidermagazine.com

Що таке відкритий код?

Anonim

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

Існують різні ліцензії з відкритим кодом, які мають різні умови використання, від GPL (GNU General Public License) - що дозволяє "безкоштовне розповсюдження за умови, що подальші розробки та програми розміщуються під тією ж ліцензією" - до більш ліберальних ліцензій, як Ліцензія Apache, яка не вимагає відкриття змін та наявності вихідного коду. Android використовує обидві ці ліцензії, і ми їх по черзі розглянемо.

Ядро Linux, яке використовується в Android, охоплено GPL. Це означає, що будь-які зміни, внесені до вихідного коду, повинні бути доступні, коли бінарний файл (висловлювання висловлювання для складеного виконавчого фрагмента програмного забезпечення) виходить у світ. Це означає, що такі виробники, як HTC, Samsung, Motorola та інші, повинні випустити вихідний код ядра для будь-яких пристроїв, які вони продають одночасно, коли вони починають їх продавати. Звичайно, це трапляється рідко, і ми закінчуємо чекати, коли команда видалить нотатки, коментарі до джерел та інші корисні речі, перш ніж потрапить до нас. Це випуски коду, які ви побачите в Інтернеті і складаються з джерела ядра та інших "бітів" з відкритим кодом, які охоплені GPL.

Вихідний код для самого Android випускається здебільшого під ліцензією Apache. Кожному дозволено завантажувати вихідний код і змінювати його, як їм заманеться, але вони не зобов’язані надавати свої зміни у формі вихідного коду для громадськості. Ось чому ми не можемо легко змінити Touchwiz Samsung (наприклад) - зміни, внесені до базового вихідного коду Android, нам недоступні. Хоча багатьом людям (включаючи мене) ця ситуація не дуже подобається, це має сенс з точки зору бізнесу. Якби виробникам довелося поділитися всіма своїми секретами, не було б такого монетарного стимулу до інновацій, тому джерело пропонував набагато ліберальнішу ліцензію. Це, безумовно, спрацювало, оскільки ми бачимо пристрої багатьох основних гравців у світі електроніки.

Інший основний споживчий продукт Google - Chrome OS - написаний з джерела Chromium. Частини Chromium, написані Google, є відкритим кодом, згідно з ліцензією BSD. Інші учасники використовують різні ліцензії з відкритим кодом, такі як ліцензія MIT або GPL.

Тут важливо пам’ятати, що Android та Chromium є відкритим кодом, але операційні системи, які використовуються для пристроїв Nexus та Chromebook, не є. Вони побудовані з проектів з відкритим кодом, але можуть містити власні частини для вдосконалення програмного забезпечення для кожного конкретного пристрою. Для власних телефонів Nexus ці власні біти випущені на веб-сайті Android Developer і готові потрапити на все, що ви можете створити з AOSP, щоб отримати той самий досвід. Chromebook працюватиме на повністю відкритій версії Chromium, але не матиме закритих API-програм Google або повного набору відео та аудіо кодеків.

Google також випускає програми, які не мають ліцензії з відкритим кодом. Gmail, Карти та безліч інших додатків Google, які надходять на наші телефони, не є частиною AOSP, і розробляються незалежно для Android, Chrome, iOS та Інтернету. Коли ви чуєте, як в Інтернеті суперечки про те, що Android не "відкритий", це те, про що вони говорять. Android, і все, що потрібно для встановлення та запуску програм для Android, є повністю відкритим кодом, але популярні додатки, які покращують його, - ні. Це, ймовірно, не зміниться.