Мені довелося написати пост про цю суперечку розміщено у LWN. І саме це починає робити компілятор LLVM / Clang турбуватися у списках розсилки GNU.
Колись існував компілятор під назвою GCC, який із своїм більш ніж 25-річним існуванням продовжує дуже поважати свою безкоштовну ліцензію та копілефт, а також є компілятором, що використовується ядром Linux і донедавна FreeBSD. Той, хто хотів навчитися розробляти на C або C ++, напевно використовував GCC незалежно від архітектури своєї машини. Однак GCC потерпав від певної секретність, частково через філософію тих, хто її створив, а почасти через розвиток у соборному стилі, де здійснювався сильний контроль над тим, що відбувається в країнах Першого Сребра, а що ні (зараз не так багато, але все ще існує), що відкрило шлях до побудова інтерфейсів та інші особливості, які зрештою прийняв GCC. Щоб дізнатися більше про коротку історію EGCS, Я залишаю це посилання.
Тим часом в Університеті Іллінойсу в Урбана-Шампейн близько 2002 року дослідницький проект призвів до створення компілятора, створеного модульним способом, щоб його окремі елементи, такі як інтерфейси, генератори коду та оптимізатори. Вони кличуть його LLVM тому що спочатку це була віртуальна машина низького рівня, але в підсумку це було більше, ніж це. І вони ліцензували його за власною ліцензією, яка і була подібний до BSD (безкоштовно, не копілефт, відповідає GPL). Роками пізніше Apple зацікавилася LLVM і прийняла його для своїх операційних систем iOS та OS X, а також для створення (і випустити за тією самою безкоштовною ліцензією, що і LLVM) Ваш власний інтерфейс називається Кланг, для C та цілі C. Недоліком є можливість включення LLVM / Clang у власних програмахТакий випадок із компілятором CUDA від NVIDIA та IDE XCode від Apple.
Але одного дня, кілька тижнів тому у списку розсилки emacs, посеред дискусії про режим автозавершення, розроблений для Clang, Димитрій Гутов каже: "Мені давно сказали, що Річард Столлман так ненавидів Кланга який був проти включення коду, який використовує його в emacs ". Пізніше це призвело до чергової дискусії про дзвін та вільне програмне забезпечення де Річард сам уточнює: «Наша політика полягає у неприйнятті змін до будь-якого пакету GNU, який може працювати з Clang, але не з GCC. Emacs не заохочуватиме людей відходити від країн GCC. Коли ми отримаємо можливість, ми заохочуватимемо використання GCC над Clang ".
Незабаром з’являється Ерік Реймонд (відомий створенням Собору та Базару, поряд із визначенням відкритого джерела), який, наполовину заспівавши змагання, наполовину тролінг, іде і каже що LLVM / Clang був відповіддю на опір проекту GCC щодо того, щоб бути більш сумісним, плюс Clang перевершує GCC за кількома технічними заходами. Згідно з ним (і показуючи відео з лекції Чандлера Каррута), розробники Clang запитали Столлмана, чи є якась причина, через яку інтерфейси GCC не можуть бути перетворені в динамічні бібліотеки, які можуть бути пов'язані будь-якою програмою, яка хоче проаналізувати вихідний код. Столлман відповів, що однією з цілей GCC є уникнути власні програми для використання будь-якої з її частин, тому вони навмисно уникали різних речей, які poiblemente вони б сприяли такому використанню …… .., що вони вважали безрезультатна відповідь. Вони хотіли створити IDE та інші інструменти, які мають спільний код компілятора, а GCC їм не дозволяв, тому створити Clang і надіслати GCC на / dev / null. Розробники GCC вони наскочили на нього, суки за недостатню поінформованість (з тим фактом, що Clang перевершує GCC за кількома технічними заходами). У середині блудування з’являється Столлман, який говорить це LLVM - це жахливий відкат, не з технічних причин, а лише за ліцензію, не захищену від копіювання, яка вигідна Apple.
Тоді стаття LWN присвячує довгі параграфи про модульність GCC та заходи, які вони навмисно включали, щоб ускладнити використання її внутрішнього представництва власними програмами, на Виняток бібліотеки виконання GCC який вирішує питання про те, чи повинен GCC компілювати власний код. Я також хотів би додати випадок з FreeBSD (нещодавно випущена версія 10, замінює GCC на LLVM / Clang як основний компілятор). Остання версія GCC, яку вони використовували становила 4.2.1 (остання з ліцензією GPLv2) та ні божевільний вони збиралися оновити його до версії з GPLv3 (вони просто хочуть BSD без GPL), тому LLVM / Clang приходить до них як рукавичка.
Словом, ще одна битва у вічній війні GPL проти BSD.
Нецікаво, дозвольмо розробникам вбивати один одного.
Отже, у нас є ще один незадоволений працівник, який працюватиме в Microsoft та Apple.
Ви маєте рацію, я підтримую, що програмне забезпечення завжди безкоштовне, щоб ЛЮБА людина могла його прочитати (це єдина причина, чому я підтримую та використовую Linux), але врешті-решт програмісти мають останнє слово.
Хороша стаття, мені завжди подобаються статті про діазепан, вони виходять незвичайними.
Правда полягає в тому, що з боку gcc це дуже дурна думка, це більше того часу, коли творець LLVM запропонував код gcc, і вони відхилили його, CLang спроектований таким чином, щоб IDE могли вчасно перевірити код справжній, який не тільки приносить користь приватним програмам, але й програмам з відкритим кодом, таким як KDevelop або QtCreator, окрім вдосконалених редакторів, таких як Vim, Kate, emacs тощо. Я припускаю, що щось подібне в кінцевому підсумку відбуватиметься з egcs, і воно буде поглинано під ліцензією gpl, як тільки linux можна буде компілювати з цим, як це сталося з egcs
Якщо вони не можуть вдосконалити EGCS та / або зробити його найкращою заміною CLang, я піду до CLang та LLVM.
Дурний? Я так не думаю. Той факт, що GCC не може бути використаний для створення власного програмного забезпечення, є способом пріоритетного розвитку вільного програмного забезпечення та не використання його переваг для розвитку власного програмного забезпечення. Це спосіб захистити вільне програмне забезпечення, тому його слід підтримувати. Містер Столлман абсолютно правий, це крок назад. Крім того, такі компанії, як Apple, як згадується в статті, отримають вигоду від LLVM / Clang, не вносячи абсолютно жодного внеску в спільноту та не надаючи жодного кредиту проекту.
Вітайте люди!
Як GCC, так і LLVM / CLANG можуть компілювати власне програмне забезпечення; те, що не може бути змінено, це GCC і не робити ці зміни відомими. LLVM / CLANG можна переліцензувати як gpl, найбільша відмінність між ними полягає в тому, що для LLVM / CLANG їм доводиться використовувати C ++, а представники GCC до останнього часу не хотіли його бачити або фарбувати. З моєї точки зору, замість того, щоб переписувати GCC на C ++, як вони це роблять зараз, вони повинні були перенести архітектури, які підтримує GCC, а LLVM / CLANG - не, а мови - на останню, мати чистіший код та підтримувати власну гілку розвитку
Я думаю, ваша думка необґрунтована, над технічними проблемами стоїть вільне програмне забезпечення. Саме це найбільше стосується пана Столмена. Найкраще для вас я бачу технічну частину, і ви в своєму праві, але коли у вас немає вибору, оскільки компанія взяла на себе вашу технологію, ви добре подумаєте.
З іншого боку, за допомогою GCC ви можете перевірити код в режимі реального часу, як я повторюю, ваша думка необґрунтована.
1-Якщо GCC роз'єднає LLVM / CLANG та компанію та переліцензує її як GPL, увесь код, що міститься у зазначеній вилці, буде знаходитись під GPL, і LLVM повинні будуть запитувати дозвіл на повторну ліцензію та включати їх у свої репо. Повідомляю, що ліцензія типу MIT (XORG, WAYLAND, ...) або BSD (FreeBSD, ...) є такою ж дозвільною, як і LLVM
2 - За допомогою GCC ви не можете реалізувати автоматичне завершення коду або перевірку коду в режимі реального часу через бібліотеку, яку він надає, на відміну від CLANG
3 - LLVM - це чудове рішення для GCC не тільки технічне, але й ефективне, щоб бінома LLVM / CLANG займала половину для компіляції
Хай живе GNU та GPL!
Подивіться, чи зможуть вони створити власну CLang за допомогою алкоголю, азартних ігор та повій.
так?
Ні, Річард. Той факт, що SELinux є роботою АНБ, не означає, що будь-який інший інструмент, що не має ліцензії GPL (наприклад, LLVM / CLang), походить з тієї ж матриці.
Серйозно кажучи, я вважав, що для цього є цілком раціональний мотив, але я бачу, що ФСБ є більш консервативними, ніж Сатору Івата чи будь-який член МАФІАА.
Видно, що ви не читали список розсилки, і дотримувалися того, про що йдеться в статті між рядками.
Були наведені раціональні аргументи, навіть технічні варіанти, але в будь-якому випадку дуже часто читати заголовок і переходити прямо до коментарів.
Ñuhhhh GCC + Emacs. Якщо ти хочеш вижити, візьми мене за руку (стійло)
Пуритани збираються мене вибачити, але я повинен сказати це: мені ніколи не подобався Столлман, і, мабуть, це стосується решти моїх днів.
Не можна бути таким замкнутим. Він здається фанатиком, божевільним, і так, стільки поваги, скільки він заслуговує за свої досягнення і те, за що він виступає, я його не люблю.
Я згоден. Спочатку він мені дуже подобався, але зараз він здається занадто екстремальним ...
Екстреміст ... божевільний ... фанатик ... так, це залежить від вашого погляду. Для мене пан Річард Столлман - людина з величезною соціальною совістю. Сенсом його життя було і є вдосконалення суспільства, а не програмного забезпечення. Існує різниця між вільним програмним забезпеченням / програмним забезпеченням з відкритим кодом, оскільки перший шукає соціальних проблем, а другий - технічних.
Елаве, товариш, справа не в тому, бути пуританом чи ні. Вільне програмне забезпечення зародилося як соціальний рух, і це те, що захищає пан Столлман, як і багато хто.
Не можна бути таким замкнутим. Він здається фанатиком, божевільним, і так, хоч би скільки поваги він заслужив за свої досягнення і за що він виступає, я його не люблю ».
Власне, все навпаки. Мета полягає в тому, що кожен може вільно отримати доступ до програмного забезпечення, не обмежуючи його використання власними модифікаціями, і, як я вже говорив у своєму попередньому коментарі, вони надають пріоритети та наголошують на розробці вільного програмного забезпечення.
Думаю, ви плутаєте фанатизм з іншим терміном. Як свідчить історія, фанатизм вбиває. Термін, який ви шукаєте, може бути радикальним, але без цього радикалізму вільного програмного забезпечення та руху GNU / linux не існувало б, принаймні, як ми це знаємо сьогодні. Щодо божевільної речі, я не буду з вами сперечатися, але побачивши те, що я бачив за ці пару років, божевільні люди не такі вже й божевільні.
Цим пунктом я хочу сказати, що рух за вільне програмне забезпечення - це не лише рух комп’ютерів, а й соціальне, і його потрібно захищати. І якщо Елав, то потрібно бути радикальним щодо соціального. Такі компанії, як Apple або Microsoft, не соромлячись скористаються обставинами. Ми повинні підвищити обізнаність щодо прав користувачів та людей загалом.
PS Я називаю Елава, тому що відповідаю йому, але коментар спрямований на всіх GNU / linuxers.
Вітайте Люди!
@Xlash: СПАДАР! ... Дякую! Це те, що мені потрібно було прочитати. +1
Я копіюю вас, друкую і відкладаю на бік Біблії. (Для запису: ні в ній, ні зверху).
Зрештою, завдяки цьому кроку та зусиллям Лінуса та громади робиться щось, що змінило світ:
"Існує раніше Linux і ЗАРАЗ з LINUX."
+10
E @Elav:
Я не прошу вибачення, але мені довелося сказати:
Деякі з ваших попередніх дописів мені сподобались, але не цей ... і якщо вони продовжуватимуться так: можливо, так буде і до кінця моїх днів.
Не будьте замкнутими. Ви здаєтесь фанатиком, божевільним і поважаєте стільки, скільки ваші досягнення (цей форум) і те, що ви заслуговуєте ... Мені не подобається (ваш коментар).
😀 - хе-хе! тепер ви можете відчути (трохи) те саме, що і середньоквадратичне значення. Вам просто потрібно мати таку ж дифузійну траєкторію, як і він, і ну, відчувати майже точно те саме.
Вітаю Cuñao!
Я не розумію, чому Столлман настільки закритий. Я ризикую сказати, що я думаю, що LLVM ще вільніший, ніж GCC, оскільки дає свободу використовувати його навіть у власних програмах. Так, я знаю, що обмеження в GCC можуть допомогти вільному програмному забезпеченню, але я вважаю абсурдним те, що воно протистоїть LLVM таким чином.
привіт
Столлмен не закритий. Стаття дуже схильна до особистих думок автора.
Насправді рішення GCC мають переважно технічний характер. У GCC вони хочуть модульності, і вони роблять це, але по-іншому (уникаючи проблем, які справді існують у CLANG).
Для отримання додаткової інформації https://gcc.gnu.org/ml/gcc/2014-01/msg00176.html
Ось що написав Реймонд, і є відповіді розробників.
Мені здається це бачити, у кого він більший ... Его, звичайно.
Обидва компілятори чудові. Але як будь-який інструмент, це залежить від того, як ви ним користуєтесь.
Можна написати безкоштовний код на C # і створити ракету з Linux.
Я думаю, що тут ви повинні бути більш прагматичними. Столлмен повинен мати бачення і не перестати збиватися з шляху. Турбує те, що нинішня спільнота не фрагментована, саме це і відбувається. Найбільш розумним є те, що, хоча ліцензія bsd дозволяє використовувати її у власних середовищах, доки автори визнані (і навіть похідні від них) використовують ту саму логіку, але з gpl v2 або вище.
На щастя, за останній час майже не чули стійла. Інше, комп’ютерна програма чи компілятор, ніколи не буде соціальним питанням, крім того, що завжди існували альтернативи, які не є безкоштовними! але якщо безкоштовно.
Стосовно llvm clang, суперечка не має сенсу, оскільки джерело завжди буде там, воно випущено під ліцензією bsd, отже, це вільне програмне забезпечення, яке компанія може використовувати для своїх темних цілей, це не означає, що ви більше не можете отримати доступ до оригінального коду, але я бачу, тут ніхто не знає, крім 2 або 3.
"Комп’ютерна програма або компілятор ніколи не буде соціальним питанням"
Що ти не маєш на увазі? Я поважаю, що ви не захищаєте рух за вільне програмне забезпечення, як багато інших, але заперечення того, що представляє вільне програмне забезпечення, здається неповажним з вашого боку до людей, які витрачають багато часу, грошей та зусиль на його захист та створення.
Звичайно, llvm - це вільне програмне забезпечення, але це не означає, що його модифікації та виведення є. Ідея полягає не лише у можливості вільного доступу до оригінального програмного забезпечення, а й до його модифікацій. Якщо я розроблю програму і поділюся нею з вами, я хотів би, щоб ви зробили те саме для людей, яким ви надали б копію модифікованої версії. Це те, що захищають вільне програмне забезпечення та копілефт, отже, це соціальне питання.
"Але я бачу, тут ніхто не знає, окрім 2 чи 3".
Я не знаю, як ви прийшли до такого висновку, коли розміщені тут коментарі стосуються філософії та свободи програмного забезпечення, порівнюючи відмінності між двома типами ліцензій, навіть якщо вони сумісні між собою.
Як повсякденне життя бухгалтера, який нічого не знає про програмування, впливає на бухгалтерську програму, складену за допомогою такого компілятора?
Зовсім не, поки я вільний. Але тема, якою я займаюся в коментарях, - інша, Діазепан. Я говорю про використання компілятора X для компіляції власного програмного забезпечення, про ліцензії, що використовуються в кожному компіляторі, та їхні відмінності, я також згадую про перевагу GLP перед BSD, завжди з точки зору свободи, звичайно.
LOL, стверджуючи, що ніхто не має ідеї, - це дуже сильні слова для того, хто каже, що програмне забезпечення не є соціальною проблемою.
Ви повинні бути сліпими або, принаймні, дещо короткозорими, щоб цього не бачити, коли є навіть країни, які мігрують (більшим чи меншим відсотком) до вільного програмного забезпечення, коли всі міжнародні ЗМІ відлунюють, наскільки власне програмне забезпечення є інструментом для широкомасштабне шпигунство, коли найбагатша людина у світі саме присвячена операційній системі.
Що там читати.
... Я б хотів, щоб було більше чуток і менше пандевів ...
Стаття дещо тенденційна, починати з назви, тому що тих, кого слід запитати, чи не "вони трохи божеволіють", це LLVM, оскільки саме вони гірко скаржаться.
І з цього питання ви можете побачити лицемірство тих, хто вперше виступив проти того, що вони називають "фрагментацією", і наскільки це "жахливо" для вільного програмного забезпечення.
Але коли хтось узгоджується з тим, що він говорить і робить, слідує його лінії і не погоджується з тим, що безкоштовний компілятор стає платформою для нескінченності власних компіляторів, тоді так, хай живе кожен, щоб створювати форки!
Вільне програмне забезпечення - це соціальний рух з моменту його народження за визначенням.
Щодо GPL проти BSD:
«Freedom 3 включає свободу публікувати ваші змінені версії як безкоштовне програмне забезпечення. Безкоштовна ліцензія може також дозволити інші форми публікації; іншими словами, це не повинна бути ліцензія на копілефт. Однак ліцензія, яка вимагає, щоб модифіковані версії були невільними, не може вважатися безкоштовною ".
«Копілефт (дуже коротко визначений) - це правило, на основі якого при перерозподілі програми ви не можете додавати обмеження, щоб позбавити інших основних свобод. Це правило не суперечить основним свободам, навпаки, захищає їх ".
Як бачите, копілефт, хоча в короткостроковій перспективі забирає певну свободу, в довгостроковій перспективі захищає. Ось чому пан Столлман захищає GPL: "Моя робота у галузі вільного програмного забезпечення мотивована ідеалістичною метою: поширювати свободу та співпрацю".
http://www.gnu.org/philosophy/open-source-misses-the-point.html
«Відкритий код - це методологія програмування, вільне програмне забезпечення - це соціальний рух. Для руху вільного програмного забезпечення вільне програмне забезпечення є етичним імперативом, необхідною повагою до свободи користувачів. Навпаки, філософія з відкритим кодом ставить питання щодо того, як «вдосконалити» програмне забезпечення, лише у практичному сенсі. Він стверджує, що власне програмне забезпечення не є оптимальним рішенням практичних проблем, що підлягають вирішенню. У більшості випадків при обговоренні "відкритого коду" добро і зло не враховуються, а лише популярність та успіх ".
Я вже коментував це кілька разів, і я продовжую це повторювати, linux взагалі мені дуже подобається, але якщо в Linux я щось ненавиджу, це спільнота. Коли ти можеш зістрибнути зі скелі, щоб продовжувати ідеологію, настільки закриту, як "вільне програмне забезпечення", тоді ти розумієш, що світ перевернутий. Я думаю, що спочатку вільне програмне забезпечення про це було зрозуміло, сьогодні історія інша.
Я вважаю, що багатьом незрозуміло умови та цілі ліцензії GPL. Ліцензія GPL є дуже дозвільною, але з обмеженням не дозволяти отримувати прибуток від програм, ліцензованих разом з нею. Я погоджуюся зі Столлманом, але не в крайніх випадках виключно використання вільного програмного забезпечення. Для користувача бажання використовувати LLvm / Clang - це їх право, але для SLF бажання замінити GCC на LLVM / Clang було б суперечливим принципам вільного програмного забезпечення.