У меня нет ссылок, кроме того, что я читал на форумах, но я верю
- Canon не предоставляет лицензию / не предоставляет данные о своих креплениях EF / EF-S кому-либо
- Sigma не покупает лицензии (они перепроектируют все крепления)
- Tamron / Tokina, лицензия Nikon, не уверен насчет других (очевидно, не Canon)
Нет ничего противозаконного в обратном инжиниринге, per se . В некоторых случаях копирование может быть незаконным, например, если был патент, но нет патента, который блокировал бы сторонних производителей, производящих совместимые линзы. являются патентами на различные конструкции объективов (оптика), поэтому вы не видите, чтобы они делали точные копии объективов Canon.
Проблемы совместимости всегда возможны, если вы перепроектируете интерфейс. Это может быть разработано, например, если бы Canon включила в свой протокол несколько скрытых сообщений, которые они начали бы использовать только через несколько лет. Или же это может быть просто из-за того, что определение протокола Canon допускает непредвиденные изменения сообщений, что без документации или примера изменений было бы невозможно разработать совместимый объектив. Я не уверен, что есть много смысла рассуждать о том, как и почему, учитывая, что Canon очень недоверчиво относится к протоколу, а производители, которые занимаются его реинжинирингом, вряд ли поделятся своей тяжелой работой (чтобы конкурентами воспользовались).
Примером такого рода вещей могут быть ASCII и UTF-8 . Любой текст в кодировке ASCII будет одинаково совместим с UTF-8, но строка UTF-8 может также кодировать намного больше символов, чем ASCII. Теперь это было сделано для обратной совместимости и было хорошо задокументировано. Если вы никогда не видели строку UTF-8, вы можете не догадываться, что определенные байты ASCII (более 127) указывают на то, что следующие байты фактически являются продолжением кодирования одного символа.