Pull to refresh

Comments 37

Это же прекрасно! Надеюсь, что скорость развития проекта после этого увеличится.
Можете раскрыть секрет, как связаны скорость развития и статус проекта (открытый\закрытый)?
Хм, ответ вроде очевиден. Открытый статус привлекает больше пользователей, увеличивает размеры комьюнити и как следствие — помогает легче и быстрее находить разного рода баги и реализовывать новые фичи.
Для меня то, что вы написали совершенно не очевидно.
Вообще безусловно радует в последнее время движение MS к open source.
Для меня это кажется очевидным, но попробую дать развернутый ответ. Вот лишь несколько моментов, которые радуют лично меня:

1) Я всегда могу посмотреть как реализована библиотека, которую я использую, что очень важно при поиске причин ошибок и узких мест (потребление ресурсов, производительность и тд.)
2) Я всегда могу изменить библиотеку (пофиксить баги, допилить необходимый функционал) в соответствии с моими потребностями, не дожидаясь кого-либо.
3) Благодаря наличию сообщества продукт развивается более динамично, раньше над ним работала одна команда, теперь все сообщество, которое гораздо больше.
4) Исходя из предыдущего пункта, ошибки правятся гораздо быстрее, а необходимый функционал появляется раньше.
5) Ну и наконец чисто коммерческое преимущество: используйте сколько хотите, где хотите и не платите ни цента.
То что вы написали никак не связано с OpenSource. Отвечу вам прямо по пунктам.

1. В .NET вы и так всегда можете посмотреть как реализована библиотека, благо IL код очень хорошо декомпилируется, а если еще декомпилятор умеет обращаться с PDB и этот PDB доступен, то тогда декомпилированный код от исходного будет отличаться в основном только форматированием.

2. В теории да, на практике так происходит очень редко. К примеру, пока ASP.NET MVC была с открытыми исходниками я не видел ни одной альтернативной сборки.

3, 4. Полная ерунда, которая с Open Source никак не связана. Я могу привести в пример NHibernate, в котором висит куча открытых багов (и почему-то те, кто эти баги сабмитит не горит желанием их фиксить) и куча патчей, которые никто не применяет по разным причинам (не нравится, не удовлетворяет внутренним стандартам, и т.д.). Или тот же Fluent NHibernate создатель которого James Gregory переехал в Австралию и по этому поводу подзабил на проект.

5. То что программа (библиотека) с открытым исходным кодом не дает права вам «используйте сколько хотите, где хотите и не платите ни цента.». Да, с Apache 2.0 это возможно, но не с другими лицензиями. К примеру RavenDB и iTextSharp, которые лицензированы по самой жестокой копилефтной AGPL и коммерческой лицензии, предусматривающей оплату. И да, EF и так была бесплатной.
Вы попытались ответить по пунктам, но споткнулись на каждом из них:

1) Я как раз говорил об open source, а не только о .net
2) Я сам ползал по MVC и благодаря этому поправил под себя несколько ограничений.
3,4) Лично я доволен NHibernate, если бы не open source, его бы вовсе могло не быть, аналогичная ситуация с fluent nhibernate.
5) Опять же, это скорее исключения, чем правило.
5. Open Source != бесплатно, Open Sorce != Open Development. Платные дистрибутивы линукс тоже исключение?

3,4. Если бы не JBoss, Hibernating Rhinos и другие спонсоры, NHibernate так и остался бы на уровне версии 1.2.

2. Ну а где ваша сборка ASP.NET MVC? Или хотя бы change request?

1. Пока мы говорим об EF, то мы говорим об .NET.
5. Можно и так сказать, если хотите, они-то делаются на основе открытых бесплатных
3,4. Спонсоры это хорошо, но если их нет, то сидеть сложа руки и ждать пока они появятся?
2. Лично мои changes на pull request не тянули, я решал частную проблему, но если бы у меня не было доступа к нормальным прокомментированным исходникам, кто знает сколько бы я ее решал? По поводу альтернативных сборок, если мы с вами их не делали, то это не значит, что их не делал никто другой, или у нас не появится такой необходимости в будущем, хорошо иметь такую возможность.
Меня, к примеру, радует на текущий момент большое количество альтернативных view engines у asp.net mvc, не скажу, что я ими всеми пользуюсь, но наличие выбора всегда лучше его отсутствия.
1.
То что вы написали никак не связано с OpenSource.
Пока мы говорим об EF, то мы говорим об .NET

То вы об open source вообще, то о его частных представителях.
5. Можно и так сказать, если хотите, они-то делаются на основе открытых бесплатных
Я не думаю, что можно так сказать. Просто запомните, что открытый исходный код не обязательно бесплатно. К тому же приписывать и так бесплатному продукту, что став продуктом с открытым исходным он стал бесплатным как-то не честно.

Спонсоры это хорошо, но если их нет, то сидеть сложа руки и ждать пока они появятся?
Нет, но практика показывает, что наличие сообщества при отсутсвии спонсора никак не влияет на скорость разработки.

если бы у меня не было доступа к нормальным прокомментированным исходникам, кто знает сколько бы я ее решал
Не знаю как вы, но мне проще и быстрее посмотреть декомпилированный код, чем идти и где-то скачивать исходники.

если мы с вами их не делали, то это не значит, что их не делал никто другой
Ну вас я привел как пример к моему первому утверждению: за три года я не видел ни одной кастомной сборки (я думаю, что просто не мог бы этого пропустить). Как связаны View Engine и открытость исходников я не уловил.
То вы об open source вообще, то о его частных представителях.
Ну блог .NET, ветка EF. О чем еще говорить? Где уместно говорить об открытых исходниках вообще — там сказал об общих тенденциях. По-моему все в порядке.
Просто запомните, что открытый исходный код не обязательно бесплатно.
К счастью, мне не нужно запоминать то, что я и так хорошо знаю.

Нет, но практика показывает, что наличие сообщества при отсутсвии спонсора никак не влияет на скорость разработки.
Вы почему-то противопоставляете эти понятия, у интересного и нужного open source проекта всегда найдутся спонсоры и нормальный комьюнити.

Как связаны View Engine и открытость исходников я не уловил

Во-первых, MS вполне могла просто запретить лицензией как-либо изменять/дополнять ее сборку asp.net mvc, в которую стандартно включены только 2 движка. Во-вторых, разработчикам новых движков всегда проще, когда они имеют возможность посмотреть как делались аналогичные вещи.

Не знаю как вы, но мне проще и быстрее посмотреть декомпилированный код, чем идти и где-то скачивать исходники.
Не буду спорить о том, что проще, могу лишь сказать, что не всегда есть возможность нормально декомпилировать код, я сейчас говорю не только и не столько о .net, хотя, если вы имели дело с кодом, прошедшем ч/з обфускатор, должны понимать о чем идет речь.
Вы почему-то противопоставляете эти понятия, у интересного и нужного open source проекта всегда найдутся спонсоры и нормальный комьюнити.
Приведите пример.
Во-вторых, разработчикам новых движков всегда проще, когда они имеют возможность посмотреть как делались аналогичные вещи.
Большинство движков появилось до того, как ASP.NET MVC стал с открытым исходным кодом.
К счастью, мне не нужно запоминать то, что я и так хорошо знаю
Тогда я не понимаю, почему вы приписываете в достоинства открытых исходников не связанные с ними вещи.
Приведите пример.

Наверное самый убедительный пример это Apache Software Foundation, здесь вам и разработчики энтузиасты по всему миру и куча спонсоров, которым можно только позавидовать (Google, MS, Facebook, Yahoo и много-много других)

Большинство движков появилось до того, как ASP.NET MVC стал с открытым исходным кодом.

Это когда это? Насколько я знаю с самого появления фреймворка в 2009 года он был под Microsoft Public License.

Тогда я не понимаю, почему вы приписываете в достоинства открытых исходников не связанные с ними вещи.

Это какие? Да, не все open source проекты можно использовать везде, всегда и бесплатно, но таковых более чем немало.
Это когда это? Насколько я знаю с самого появления фреймворка в 2009 года он был под Microsoft Public License.
ASP.NET MVC появился в декабре 2007 в качестве превью. В марте 2009 вышла версия 1.0, а в апреле 2009 они открыли исходники.
Это какие? Да, не все open source проекты можно использовать везде, всегда и бесплатно, но таковых более чем немало.
Ну здесь речь была про EF, которую и до открытия исходников можно было использовать хоть где, хоть как и бесплатно.

Я хотел от вас добиться успешного проекта с открытым исходным кодом без спонсора.
ASP.NET MVC появился в декабре 2007 в качестве превью. В марте 2009 вышла версия 1.0, а в апреле 2009 они открыли исходники
И? вы хотите сказать, что все сторонние engines были запилины еще в 2007?

Я хотел от вас добиться успешного проекта с открытым исходным кодом без спонсора.

Когда проект с нуля становится успешным у него так или иначе появляются спонсоры, это как раз и является по сути одним из критериев успешности. И я вам говорил об этом:
Вы почему-то противопоставляете эти понятия, у интересного и нужного open source проекта всегда найдутся спонсоры и нормальный комьюнити.
И? вы хотите сказать, что все сторонние engines были запилины еще в 2007?
Я хочу сказать то, что я уже сказал: большинство было сделано до того, как MVC стало с открытым исходным кодом.

Когда проект с нуля становится успешным у него так или иначе появляются спонсоры, это как раз и является по сути одним из критериев успешности. И я вам говорил об этом
А я вам говорю про другое: сообщество ни на что не влияет. Есть какое-то ядро проекта, которое его развивает. Сообщество же суетиться вокруг. Поэтому ожидать того, что сообщество будет развивать проект бессмысленно. Максимум на что оно годиться — находить баги, и иногда их править.
Ядро проекта само по себе понятие не постоянное, кто-то уходит, кто-то приходит и очень часто в него входят люди, которые еще вчера просто «суетились» вокруг проекта.

Возможно вам просто не повезло и вы сталкивались с open source проектами, где сообщество ни на что не годится, проект застыл и не развивается и вообще все очень плохо. Но как показывает мировая практика это работает и open source ПО ничем не уступают проприетарному ПО (вики):

С 2006 года тестинговой компанией Coverity совместно с американским Отделом национальной безопасности проводили исследования как в открытом, так и закрытом секторе разработки ПО, по результатам года они публиковали отчет. По результатам 2011 года, оказалось, что открытый исходный код не уступает по качеству проприетарному. Самыми качественными проектами были признаты Linux 2.6, PHP 5.3, и PostgreSQL 9.1, качество которых определялось по дефектной плотности (числу дефектов на тысячу строк кода), которые были равны 0.62, 0.20, и 0.21 соответственно.


Да построить Open Source сообщество — дело очень непростое и далеко не каждое подобное начинание заканчивается успехом, но это не умаляет всех его достоинств.
Возможно вам просто не повезло и вы сталкивались с open source проектами, где сообщество ни на что не годится, проект застыл и не развивается и вообще все очень плохо.
Да, к примеру NHibernate и FluentNHibernate.

Но как показывает мировая практика это работает и open source ПО ничем не уступают проприетарному ПО
Да причем здесь вообще это? И все 3 проекта спонисируемые.

По вашей же ссылке второй комментарий.
Слушайте я вот честно не понимаю, в чем вы меня пытаетесь убедить? что open source это уже не торт?
Вы спросили, почему меня радует движение MS к open source, я вам ответил, какие преимущества я, как раз разработчик, от этого получаю. Что еще?
Нет же, надо в течение нескольких часов пытаться доказать, что сообщества это бесполезная вещь, что без спонсора вообще ничего не получится, и вообще я код в декомпиляторе смотреть могу.
В том, что преимущества, которые вы упоминаете не связаны с OSS напрямую и сомнительные, ну и только пункты 1 и 2 как-то связаны.

сообщества это бесполезная вещь, что без спонсора вообще ничего не получится, и вообще я код в декомпиляторе смотреть могу
наконец-то вы это поняли.
наконец-то вы это поняли.

Давайте вы не будете троллем и принимать желаемое за действительное.
Т.е. вы до сих пор этого не поняли, жаль? Странно.

Я проснулся и теперь могу привести более веские и логичные аргументы.

Как показывает практика MS с ее движением в сторону открытых исходников, это не несет никаких плюсов разрабатываемому ПО.

1. .NET Fx сам по себе с открытым исходным кодом, правда в него нельзя почему-то смотреть, если хочешь сделать клон.
2. ASP.NET MVC, xUnit.net почти с самого начала своего существования были с открытым исходным кодом, но не с открытой моделью разработки. Причем политика Microsoft не разрешала применять патчи ни в каком виде.
3. Несколько месяцев назад Microsoft перевела ASP.NET MVC в разряд открытых разработок, и за это время было закрыто 15 патчей. Из них половина (7) — «update .gitignore».

Исходя из вышесказанного ваши пункты 2,3,4 не состоятельны в отношение EF и других новоиспеченных опенсурсных продуктов Microsoft.

Ваш пункт 5 к EF вообще не имеет никакого отношения, т.к. он был бесплатным и свободно используемым в любом проекте. Я не думаю, что Microsoft будет в здравом уме открывать исходники какого-нибудь своего платного продукта.

Пункт 1 хорошо согласуется с открытыми исходниками, но вообще никак не вяжется с .NET в виду его природы.

Пункт 2 по поводу новой функциональности и багофикса под ваши конкретные нужды очень хорошо покрывается платным проприетарным софтом с премиальной поддержкой. Отличный пример в сфере ORM — LLBLGen Pro, причем Франс Баума фиксит баги с феноменальной скоростью (в течении дня, максимум недели) даже для триальных пользователей.

Пункт 3. Вы хотите сказать, что у проприетарных продуктов не бывает сообщества? Еще как бывает, и в силу еще существующего недоверия к OSS оно зачастую больше, чем у аналогичных продуктов с открытыми исходниками.

Пункт 4. См. ответ про премиальную поддержку.
Отлично! Надо будет как-нибудь покопаться. MS в последнее время радует открытием исходных кодов, это да.
Раньше было можно, только если сборку вскрыть
«Вскрыть»? Ну не знаю-не знаю. У меня ilspy — штатный просмотрщик кода.
Эх, открыли бы исходные коды WPF и Silverlight, чтобы сообщество смогло портировать их на другие платформы. Вот бы красота была :) Moonlight не в счёт — его разработка остановлена, да и совместимость с Silverlight 5 у него маленькая.
Была бы востребованность — давно бы портировали. Порт XNA достаточно быстро сделали.
Востребованность есть… Но официально авторы mono отказались от реализации потому, что объём работ был бы колоссальным.
Исходники WPF и Silverlight можно любым умным декомпилятором увидеть.
Сам лично копался в Layout расчетах WPF Grid юзая .Net Reflector.
Есть риск нарваться на иск от MS сделав FOSS «форк» WPF на основе реверс-инженеринга.
Блин, круто. Опенсорсят все самые мэйн-стримовые штуки. Ждем, когда заопенсорсят саму Visual Studio :)
Хорошая новость.
В Entity Framework глюков хватает. Думаю найдётся много желающих их пофиксить.
Sign up to leave a comment.

Articles