В прошлый раз рассмотрели несколько случаев установки софта не из хранилища, когда надо затаскивать чтото не кроссплатформенное под винду и даже под дос. Останвились на том, что способ с хранилищами он достаточно юзерфрендли, то все остальные спсобы в той или иной степени взрывоопасные. Мы не можем поерить вто, что какой то инсталлятор все хоршо сделает с нашей фс, не гготовы поверить, что левый репозиторий будучи подключен к обновляемому убунту будет нормально обновляться. Не готовы поверить вто, что какой-нибудь бинарник, который просто так скачан заработает так как надо из под пользователя, хотя это наиболее вероятное направление. Прада этот софт сложно пакетировать, там зачастую многое прибито гвоздями, типа путей.
Единственное, о чем не было в прошлый раз -- о понятии драйвер. Не существует четкого определения слова драйвер, по крайней мере подробного. Мы не можем сказать, что драйер это что-то, что мы ставим в систему и что-то начинает работать. Любой пакет такая штука. Можем уточнить, что после установки драйера работать нчинает железяка. Но этотоже непрада. Во первых драйверы бывают например на фс. Второе -- после установки железо может распознаться, но не поддерживаться. Частый случ со всякими электронными досками. Если мы научим наш ос распознавать доску как планшет, у нас не начнут работаь заметки, презентации итд. Работа железяки может быть сопряжена со спец софтом, которогопод линукс может и не быть. Про доски на данный момент известно, что есть три фирмы, чьи доски под некоторыми линуксами работают. В случае линукса, чаще всего, оно либо сразу работает, либо требует глубоких знаний в области системы и железа. Это следствие всё того же глобального пакетирования. Поскольку в линуксе не приянто использовать изолированные средства установки, в пакеты попадают только то, что более менее стандартно может быть установлено. Если для дыхания железяки необходимо не только, тчобы она распозналась как усб устройство, н и должно измениться поедение приложений, подгружаться куда-то фирмаре, и так далее, то вковырять это в линукс стоит сообществу больших усилий.
Если сталкиваетесь с такой проблемой -- гуглить и звать на помощь специалиста. гугление вещь полезная, если ошибка была у вас, корее всего она была еще у сотни.. тысяч людей, которые с ээтой железякой имели место. Очень редко лектор сталкивался с ситуацией, когда он первым находил ошибку с железом.
Если есть проблемы с тем, что в народе именуется драйвером, то эти проблемы чаще всего изза того, что чтобы заставить линукс работать с этой вещью надо сделать нечто особенное. Иногда даже пробасывают виндоус в эмуляторе в кчестве, скажем, драйвера вин-принтера.
Лектор хотел сделать давно обещанный кусок про лицензирование. В этой аудитории, кажется, большого разговора про лицензирование не вели.
Откуда взялось разделение свободного и несвободного софта. С точки зрения лектора строгое разделение произошло из различия методов разработки софта. Изнчально способ разработки по был открытым. Совсем изначально закрытым, потому что существовал ровно один человек, который умел программировать под данный процессор. Ну или не один, а трое. Но, как только речь зашла о более менее стандартизованных/портабельных ос, так сразу зашел разгоор о том, чтобы пистаь группу приложений и программировать их не только собственными силами, но привекать все научне сообщество. Наунчное, потому что тогда, в 70ых, программирование был уделом кужесников в белых халатах, которые встечались раз в год на конференциях и обменивались ленточками со своими наработками. Ученых было всего 50 штук, из них 20 не ездят на конференции, потому что ои за железным занавесом. Остальные 30 относились к по как к научному продуктоу. Для людейбыло важно засквотить первенство публикации, но дальше те знания подлежалиповсеместному распротранению, чтобы какой-нибудь коллега мог помоь и можно было бы совместить усилия. Вот те летнчоки и назывались дистрибьюшн. Потом люди пришли к мысли, что одну ленточку надо складывать вообще всё. Чтобы можно было бы принести такую ленточку, развернуть всё на машине и продолжить разработку. Чтобы обеспечть максимум инф открытости -- и исходные кожы, и тех документация, и аучные статьи -- информационная откытость. Академический стиль разработки, о лицензиях тогда не думали. Программы бытовали как статьи. Целью открытой разрботки являось привлечение как можно большего числа открытых разаработчиков. Целью было расширение множества коллектива разработчиков.
В 80ы годы, когда произошел собственно раскол. Раскол приянто связывать с письмом билла гейтса всем прграммистам мира "давайте продават программы", начал формироваться закрытый псоб разработки. Этот спсоб имел целью не разработку как таковую, а разработку прлдукта. который можно было бы продавать изаставлять колесо цикла разарботки крутится. Поскольку основной дохожд материально приносила именно продажа копий, то весь процесс разработки надо было сделать закрытым. Информационное пространство снаружи сильно сузилось, ограничилось пользовательской частью. Если и пользовательская часть ограничена, то вы не видимо не собираетесь проавать экземпляры, можете продавать устанвку и поддержку. Мы рассматриваем сейчас чистый бизнес на по. Главным свойством явилось то, что продукт можно было продавать полюббой уене.Но в силу ограничения инф п терялись сторонние помогающие разработчики и круг разработчиков сторого ограничивался рамками компании где идет разраотки и финансами компании-разработчика.
Если вы разрабтываете апи, то вы его документируете и распространяете с документацией. Типичная ситуация для закрытого спсоба -- колектив в котором много средней и нишей рабочей силы, и мало высшей. Почему -- кода много. 100 гениальных программистов -- это ровн в 100 раз больше чем необходимодля одного проекта. Нужны кодировщики, которые реально кодят то, что придумывает гениальный программист. Это если кодеро 10. Если их 100, то нужна уже двухярусная система -- архитектор, шефпрораммисты, кодеры. а технология програмимрования приянто рассказывать про то, какрганизовать тим.
Если цель разрботка продукта которым собираетесь пользоваться вы и ваш товарищ, то ваш выбр открытая разработка. Если хоите делать деньги на продаже экземпляро, то вы выбираете закрытый способ.
Чтобы закрытая разработка вообще была возможна необходимо было отшлифовать инструмент, который бы эту закрытость гарантировал бы. Просто копирование одног бинарника в другой ничего не убавляет вэтом мире. Ситуация когда пп это исходные коды никто не мешает конкруентам взять эти сиходные коды, добавить сови ноухау и обскакать вас на рынке. Для этого нужен строгий контроль кто имеет право заниматься распротранением копий и исходников. Вслучае академ разработки этот вопрос был негланым, в случаезарктыой разработки это вопрос с тановится главням -- у кого права собственности. Необходимо сосреотчене прав в одних руках, том чисе прав, регламентирующих как оно дальше будет распространяться. Огрничение прав собственности правообладетелем.
Это серьезное ограничение -- покупаете годовую лицензию на использовани пп на одном рабочем месте. Вы не вяляетесь хозяином пп, ничем вы не владеете кроме этой самой лицензии. Тот факт, чтовы действительно не можете это сделть должен быть чемто поддержан -- законам, правами интел собственности и прочим большим аппаратом, ктоорый на сегодняшний день можно назвать лицензированием.
На самом деле первое иглавное, с чео началось явное разделение -- инициатором этого было событие, когда люди занимающиеся разработкой сфта в академической манере обнаружии, что они не являются собственниками ни то что бинарника, но дже исходника. По всем законам если вы пишете код находясь на стаке, то это собственность компании а не ваша и вы не имеете права этими знаниями делиться.
Получается что, как только вы попадаете в поле действия законодательных нормативов, защищающих правооблдателя -- сильно страдает открытая модель разработки. ВЫ что-то делалаи делали, оказалось код не ваш. или вы делалаи-делалаи, пришел дядя, положил в карман и стал продавать код за миллион.
Раз появилась правовая защита прав собственности, дожен бл появится механизм явной передачи прав пользователю.Просто чтобы не было разночтений. В90 был очень много кода, непонятно как лицензированного.
fair use. Меры явной передачи прав собтсвенности при открытой разработки позволяют эфеективно сохранить прцесс разработки открытым.
Давайте немоожко поговорим внимательней про правовую защиту. Првовая защита прав правообладателя на ограничения прав пользователя. Можно сделаь предположение, что при правильном рекрутинге открытая разработка может быть более эффективно, потому то у нас не ограничено число привлекаемых разработчиков. А в закрытом виде у нас только 100 индус-риальных программистов.
Пример с горшками. 1 горшок = 1 материал + 1 труд 100 горшков -= 100 материало + 100 труда.
1 копия программы = 1 материал(носитель) + 1 труд 100 копий = 100 материалов + 1 труд.
Причем материал о вторм случае исчезающе мал.
Свойство безущербного копирования -- отличитеьное свойтсво программных продуктов. Не обсуждаются экономически составляющие -- куда деваются гиперприбыли, и так далее. Таки образом от эта штука является плюсом для процесса открытой разработки,с другой стороны можем использовать копирование как инструмент прибыли.
Возвращаемся к понятию лицензирования. Выясняется, что люди которые зарабатывают продажей экземпляров озаботились лицензированием, а вслед за ними и все остальные.
Нужно продеставить пользоватею возможность понять на официальном уровне, какие права получает пользователь, когда приобретает сободные продукт. Лучше всего это сформулироал пострадавший от проприетарщиков ричард столман. Это с течением времени вылилось в достаточно простое определение свобдного софта. Это 4 права:
- Право использования. В России гарантированно конституцией(?????).
- Право изучения и, как говорил Столман, улушени пп. Ресь идет об изменении пп. Это уже никем так просто не гарантируется. На сегодняшний день это чаще всео сопряжено с доступом к исходным кодам.
- право распространения. Вам передается право распространять пп. Все 4 права сопровождаются оговоркой " без каких либо ограничений не противоречащих конституции". Вы имеете право распространять и всё.
- прво распротсранения изменённых версий. Это очень важный пункт, который довольно часто не выполняется. В случе со свободным софтом, когда код является открытым несвобода чаще всего состоит в нарушении 4 пункта. Именно 4 пункт мотивирует людей заниматься разработкой свободного софта.
ВСе 4 пункта не сопровождаютя какими-либо ограничениями. Речь идет об исходных текстах с помощью которых был получен рабочий бинарник.
Давайте вспомим, для чего существует эта ерунда.Она существует чтобы обеспечить правовую защиту людям, занимающимся открытой разработкой, а не ставить палки в колёса.
Чтобы внести некоторую путаницу напомню, что существует параллельный термин open source и автор её идеи эрик раймонд. Столман жуткий идеолог. А раймонд просто хакер. Тем не менее, 4 пункта столлмана от идеологии почти свободны, а 10 правил раймонда весьма идеологически нагружены. По сути open source definition free software с точки зрения передаваемых прав почти одинаковы. Евросоюх и вовсе совместил их в одно. Главная проблема в самих ричарде и эрике, которые постоянно грызутся.
Есть спсиок компатибл и некомпатибл лицензий с гу и фрисофтвар. В англосаксонском прецендентом праве можно сделать что угодно.
Обраите внимания что традиционная проприетарная праовладельческая лцензия построена на манипуляции теми же правами.
Нетерпеливый евгений подсказывает, что лектор забывает про важный пункт, присутствующий во многих лицензиях. Возьмём ситуацию, когда вы берете код под свободной ллицензией, закрываете его и начинаете продавать. В вышеуказанных 4 пунктах никто это не запрещает. В ныншенем проприетарном софте 80 процентов используют наработки выпущенные под разрешительными лицензиями. Чем это плохо? Тем, что фактически люди, которые могли бы внести вклад в процесс открытой разработки это улучшение не попадает в виде исходных текстов в обее информациооное пространство. Помимо разрешительных лицензий, которые выглядят +- как спо. Есть ещё лицензии под общим именем копилефт. Копилефт -- потеря права манипулировать опциями копирования -- запрет на нарушения треббований спо при распространении. Когда вы распротраняете софт, все 5 прав (спо+ оно само) должны быть сохранены. Копилефт, потому что вы фиксируете правила дальнейшего копирования. Лицензий разрешительны весьма много, самая из них изестные bsd, wtfpl, mit и всякое такое. Есть довольно забавные -- делайте что хотите, только чтоб исходный код не менялся( например прилагайте патчи). Копилефтные -- gpl, mozilla public license, lgpl, fdl... Отличаются они деталями формулировок и тем, что разные большие компании изобретают каждый раз сою лицензию. У одного микрософта 4 копилефтных лицензий.
Есть отдельная тема -- множественное лицензирование. Вы как правообладатель имеет право выпускать лицензировать и рсапространять под той лицензией, какой захотите. Например для неокторых людей можете распротранять пп под свободной, для неокторых под копилефтной, для неокторых под проприетарной. Никто это не запрещает. Очень многие пп распространябются под множественными лицензиями включаяя проприетарную Зачем? Чтобы осуществлять партнерские отншения с корпорациями, которые просто не могут поставить на баланс сободный софт, у них такого в расписании нет. Множествееное лицензирование впоне реальная сиуация, которое себя оправдывало пока торговля коробками имела смысл.
Creative Commons by/pd nd/sa nc Лицензии не для кода, а для других текстов и не только. Было изобретено семйство лицензий creative commons которые позволяют лицензировать творческий прдукт с теми опциями, с которыми вы пожелаете. Является паблик доменом или у него есть автор и это вы. Можно ли его модифицировать и делать derivative works или нельзя. И выбираете накладываете ли вы ограничения на ваш продукт, должен ли он использоваться только внекммерчесикх целях.
про цитаты есть отдельно постановление, что считать цитатами, что нет. Как раз подэтой лицензией распрстраняется текст на википедии и они долго утрясали двоное лицензирование с фдл. Есть много вопросов, например, с конвертацией из формата в ормат, но это вас не должно волновать.
Хранилище в подавляющей части состоит из сободного софта.