> ifdef -- это не крайний случай, а инструмент для вполне конкретных целей. При том чаще всего - знатный костыль. Загаживающий код.
> можно применить gcc -E.
Не очень хочется, если честно.
> Ну так (почти) все предпочитают хороший свободный код.
Не совсем так. Многие эмбедеры вообще очень слабо разбираются в лицензии, а иары и кайлы честно сперли с кряками, как обычно у юзерей винды, особенно в exUSSR. Ну и либы и прочее по такому же принципу делают.
> подглядеть, другими словами.
Тут соглашусь, пожалуй.
> Ну, мы иногда изучаем чужой треш-код, берём оттуда полезные кусочки,
> остальное дописываем сами.
И в результате получается стремноватый код с непонятным лицензионным статусом?
> Согласен. Однако по поводу лицензий, авторы обычно быстро отвечают на просьбы разъяснить.
Но на все это надо тратить сильно отдельное время.
> GitHub не позволяет.. почему?
Я не знаю что он там не позволяет. Git pull с него работает. А если кто не умеет по протоколу git работать - наверное это уже не вина гитхаба.
> Вероятно для того, чтобы основная копия мелких проектов была именно на GitHub.
Не знаю. Но когда Торвальдсу потребовалось, он без проблем перекинулся на guthub а потом обратно на кернелорг. Кого-то завендорлочить при использовании git - это фантастика.
> Торвальдсу же, например, там не нравится их реализация Pull Requests, что тоже
> не безобоснованно.
У него есть команда и там сложились совсем иные практики. Ну и логично что ему переобучаться всей толпой под это не резон. А зачем, если его практики и так работают? Я не фанат суперцентрализации на 1 сервис.
> Да и вообще, код GitHub-а закрыт и они могут в любой момент
> начать творить фактически всё что угодно.
Они могут снести реп по DMCA кляузе, например. В этом плане свой сервер надежнее всего.
> чужих наработок в качестве подсказок, или даже в качестве основы для
> своего решения (если изначальный код более ли менее).
ИМХО 50/50. Ну то-есть там есть как отличный код, так и просто мусор. И отсеивание одного от другого там достаточно трудоемкая затея на самом деле.
> Для этого там придумали Star-ы. Что обычно не помогает, но иногда помогает.
Реально это в половине случаев похоже на изучение мусорного бака. Хотя порой достаточно вознаграждающее. А у эмбедеров с относительно проприетарным складом ума и низкой культурой в вопросах лицензирования все будет еще жестче.
> Допустим я хочу завести wiznet5500 на sm32f1
А, ну я не фанат таких вещей. Я вообще в гробу видал черти-чей сетевой стек в абы какой фирмваре в общем случае. И если уж мы про вендорлок, то предъявы гитхабу на фоне жесткого вендорлока на конкретный модуль с уникальным "апи" - это вообще номер.
> я уверен, что люди это уже неоднократно делали.
Вероятно, но я таким не интересуюсь.
> Значит либо просто забью на такой код, либо поизучаю как он работает
> (чтобы у себя в голове прояснить интересующие меня моменты), либо портирую
> под gcc+make и кину Pull Request.
Проблема в том что на это тратится время, а взаимодействие с таким автором легко оправдает самые пессимистичные ожидания, по типу искреннего непонимания "а чего б вам просто не поставить крякнутую кайлу?"
> Да это ясно, и, кстати, у меня научный руководитель (газодинамика/термодинамика/хим.
> кинетика) страдает походими проблемами :)
Такими проблемами страдает большинство эмбедеров. И кой-как отучаться от таких замашек они начинают только сейчас, когда неумение использовать линух начинает икаться. А с линухом неудобно из винды работать, так что люди пошли разучивать пингвины и неожиданно для себя заметили что кроме виндовых подходов оказывается бывают и иные. Лицензионно чистые, простые, логичные и вообще. И я так смотрю - многим олдскульным волкам эти подходы пришлись по вкусу. Но сабж не про них.
> Но ведь нужно с этим обороться. Вот GitHub немножно изменил культуру программирования
Это да. Но с другой стороны, если нарваться на неопытного автора который програмить научился вчера и в вьюжлстудии - наесться можно по полной программе.
> Насильная выжимка -- не изменит. А вот взаимодействие с людьми, которые увидят
> эту выжимку -- может быть и изменит.
Я думаю в этом плане гитхаб и то лучше. По крайней мере к нормальному инструменту взаимодействия приучает. Но ведь половина будет думать что гит == гитхаб...
> Я -- любитель gcc+make. Если речь про CubeMX, то он не виндовый
> (а кроссплатформенный) и нужен лишь для генерации пустого проекта
А, ну я поискал что это. И нашел нечто с setup.exe, вот и решил что он виндовый.
p.s. я думаю что мое время на опеннете заканчивается. К сожалению я не могу и не буду обещать какие либо ответы после этого сообщения.