Hello,
i've been searching around google for sometime now and i can't seem to find a solid solution to this problem...
commercial product (small scale):
you want to send updates to users for new sketches pre-compiled as hex files
BUT you don't want to spread your hex files directly (they could clone your hardware and make copies of it themselves using the hex file you send them
so maybe there could be a single installer of some kind (windows, linux, mac, android?) that has the hex file in it and uploads it to the board upon running?
i have no idea if all this is possible.
specifically the arduino i use is a DUE and it has access to an SD card if that helps...
i already checked out XLoader but it has no DUE in the boards list...
also checked out this one:
I'm afraid you are being overly worrisome ... 'they' can already extract everything from the Arduino ... unless you lock the chip and if you do that, you must have a high-voltage programmer to reset the fuse bit before it can be reprogrammed! Catch-22
As much as I understand the "Arduino idea" it is even "worse"
Let's say you use some of the librarys that are published under GNU / GPL as part of your software. If so, you have also to give "them" the source code (not only the hex file) if they want to get it... :o
Fortunately, most of the standard arduino libraries are published under the "Lesser" GNU Public License, which does NOT require that you release your source code just because you've used them. (although, you're supposed to provide your code in a form that is linkable with newer versions of the libraries; a holdover from the dynamically linkable libraries on desktops. It's not clear exactly how that's supposed to work on deeply embedded systems.)
There are SOME libraries that are GPL (IIRC, the SDFAT library is one example); if you're planning on keeping your code very secret, then you need to pay attention, and you probably need to have a lawyer.
BUT you don't want to spread your hex files directly (they could clone your hardware and make copies of it themselves using the hex file you send them
so maybe there could be a single installer of some kind (windows, linux, mac, android?) that has the hex file in it and uploads it to the board upon running?
If they clone the hardware they can use your "installer" instead of hex files, if it's the same hardware what would prevent it to write the code?
So we're not getting anywhere...? this platform is either fuse locked and not updateable, or updateable but copy prone? Well the hardware isn't they hard to copy either, a bunch of relay and some audio circuitry... so it can not be made commercial at all? This is a critical question because it can already do all stuff the competition does and competition units cost around $1000, so what should i do? Release this as open source with the pcbs too and bring down the whole industry? (Evil laughter)
you mean send it to you so you can prove that it can be cloned anyway using a high-voltage programmer or something like that?
well if any company goes that deep and wants to copy it there's always a way, i'm talking about ordinary people here... someone who would be tempted to say "hey let's make a copy of this and give it open source"
on the other hand, is there any place where i can find licenced libraries under BSD or something like that? i use UTFT right now and that's a no-go for a commercial project...
vagos21:
you mean send it to you so you can prove that it can be cloned anyway using a high-voltage programmer or something like that?
I just meant send a chip to your customer, rather than a hex file or installer software.
That would get around this:- "this platform is either fuse locked and not updateable, or updateable but copy prone?"
it sounds like a vicious circle... especially if someone takes a DIP chip easily insertable in a board, they can still copy the rest. so i guess in the end i shouldn't be worried about the code so much, it can be copied one way or the other...
i just need a lawyer to keep it from being copied? the hardware part i mean. maybe this should be moved to the "project guidance"...
vagos21:
i just need a lawyer to keep it from being copied?
No, your being told that you need a lawyer to make sure that you are properly complying with the licenses of the code you are using. Some of them say something approximately like "if you use this code, the entire rest of the project must also be open source". Closed source systems aren't allowed to use it.
Or, you know, try not to develop secret proprietary systems on the backs of people that believe in openness, and invest your own time and money into it.
Maybe the $1000 ones are $1000 for a reason. On top of all the markup needed to stay in business, and markup necessary to give the distributors an income and reason to distribute the product, the high price could be based on the hours of work needed to hand-code every line of code and infrastructure needed to make it work instead of stealing open-source code and place your closed-source layer over the top.
guys wait i'm not an evil scientist stealing ideas and destroying the open source world...
i would gladly help anyone who has any questions about how i did parts of my project, i just don't want to give the source open-handedly...
and yes i've spent time in it, i've spent a whole year designing every bit of it, have been through 4 versions of the "product" and just a week ago i decided to go commercial and then found out that some libraries are GPL, others are creative commons, and all i try to do is find alternatives that can be used in commercial projects, and a way to keep my code secure. i love the open source world, it is what inspired me to do this and i'll love to give hints about how my code works. nobody wants to mess with the licences and break the law, and i surely want to keep it clean, that's why i came here to ask for your ideas and guidance
for example, the encrypt-decrypt bootloader idea by Jiggy-Ninja was brilliant! :o