Допустим я напишу на ассемблере программу, которая будет использовать DirectX. Законно ли я буду использовать API в Windows, или нада покупать какуюто лицензию у Microsoft в случае если программа будет распространятся бесплатно? Есчё вопрос - если платно? Какие вопросы нада решить с налоговой, Microsoft и т.д, чтобы программа была полностью законной?
тут надо смотреть исходя из того, платны или бесплатны 'средства', которые вы использовали при разработке своей программы.
ИМХО Навесить бесплатный криптор-протектор, а при установке сообщить, что это интелектуальная собственность и реверсить программу запрещено. Так решаются траблы с средствами. На рсдн есть целый раздел шароварщиков. Поищи там.
Совершенно верно. Если еспользовать VS.NET то необходимо лицензия (необходимо но ни кто не говорит обязательна ) Если продукт небольшой то можно использовать и бесплатные компиляторы Dev-C а SDK можно использовать уже без лицензии. А там смотри на свое усмотрение, главное ни кого не обидеть.
Тут проблема не со стороны реверсеров, а со стороны нашего законодательства и прав на написание программ для Windows и дальнейшего их распространения в платном\бесплатном варианте. Например вполне ли я законно в своей бесплатной программе вызываю аpi MessageBoxA из kernel32.dll, или мне необходимо покупать какую-то лицензию от Microsoft? Для разработки использованны FASM.exe, NOTEPAD.exe из лицензионной версии Windows XP Home Edition и бесплатный графический редактор.
rudik Если даже собирал свой проект на варезе, то можно у кого-то, у кого есть эта штука лицензионная, перед торговлей попросить собрать на ней(она может неочевидно метить код) и копию его лицензии.По поводу winAPI - то её вызывает пользователь, но только через твою программу.А он за неё платил или нет - нас не касается. Если твоё творение не будет иметь огромный коммерческий эффект , особенно на западе, то и боятся разных нарушений то же сильно не стоит. Если используеш что-то под лицензией GPL.... то нужно будет публичить исходники - а то ихнии бородатые дядьки такое с тобой сделают(на деньги они не претендуют) Под LGPL публичить не надо. Вообще осмотрись вокруг)) Особенно на дельфийские мелкие автоматизируюшие документооборот конторки. Там соотношени "свой код"/"коммерческие компоненты" = 1/100 И эти ихнии изобретения с очень дорогими, и очень варезными компонентами, покупают администрации, разные правительственные учереждения, не говоря уж о комконторах. Слышал что бы за это кого-то привлекли? А так, если намерения действительно серьёзные, лучше проконсультироваться с очень опытным юристом с международной практикой - таких единицы у нас и это очень-очень дорого.Вот насобираешься слухов - а отвечать тебе придётся.
вызывать какие бы то ни было функции никто не запрещает. читайте лицензионное соглашение, прилагаемое к форточкам. вообще, мне не известны законы или лицензии прямо или косвенно запрещающие вызывать свой код из других программ. другое дело, что если используется несвободная среда разработки, то тут могут быть проблемы именно с этой средой, поскольку откомпилированный код в подавляющем большинстве случаев включает в себя библиотеки, за распространение которых в составе продукта могут очень сильно дать по попе, хотя бы чисто теоретически. практически же все упирается в то, что никто тобой интересоваться не будет, а даже если и будет. мелкософт проводит "тренинги" среди разных контролирующих органов, объясняя им как выглядит лицензионная винда и учит их как ее отличать от пиратской. но вот касательно средств разработки... ну если ты сидишь в конторе, то еще могут ввалиться люди в погонах и потребовать лицензию на студию, например, но это маловероятно. потому что их этому не учат. а если же ты сидишь у себя дома, то никто к тебе в гости не придет. дело в том, что у юридический лиц всегда есть тот, кто за все отвечает. если это не админ, то начальник, который обязан быть в курсе всего и отмазка: "злые хакеры поломали сервер и незаметно установили левый офис" не прокатит. а вот у тебя дома - скажешь, что хрен его знает откуда все это взялось. наверное, кто-то из друзей пришел и установил. я ж не в курсе. запрет на дизассемблирование в лиц. соглашении касается только этого лиц. соглашения. а в более широком смысле надо курить законы. а по нашим законам дизассемблировать программы можно. другое дело, что никто не станет возится. сколько они денег угрохают на дизассемблирование и сколько могут снять с тебя? и сколько еще людей компилит проги на "левых" средах разработки? про продажу программ. с M$ никаких вопросов решать не надо. если ты не используешь SDK от M$, то это проблема конечных пользователей. если же ты используешь SDK, то... читай, что там написано в лиц. соглашении. никаких отчислений M$ не требует и никаких дополнительных телодвижений тоже. налоговая требует, чтобы ты платил налоги больше ее ничего не волнует. самый простой путь - поручить распространение программы какому-нибудь юридическому лицу, которое заодно и будет разруливать все вопросы с налогами. самому заниматься продажами имеет смысл только в том случае, если у тебя есть передовые бизнес идеи
ммм... если я вызываю CreateWindowEx и создаю ей к примеру Edit, - это так я понимаю законно... а если я вызываю LoadLibrary и с помощью CreateWindowEx создаю RichEdit; или что-нить из Common Control'ов? (сильно не бить в законах не силен)
Ilux, какая разница. и в том, и в др. случае юзается в итоге ф-ция CreateWindowEx. а про юзанье ф-ций выше Крис уже верно ответил:
У MS обычно есть только ограничения по распространению библиотек, не входящих в ОС. Те, что можно распространять со своей программой, обычно перечислены в файлике redist.txt.