Fog Creek Software
g
Discussion Board




Software for developers: With source code?

We are developing some components for Macromedia Flash which other developers will use to create applications in Flash. The price will be quite low (around 100 Dollars).

We have to ship one crucial part of the component as source code due to the nature of Flash so nothing can stop one customer from giving away the component to his friends or to everyone on the Internet.

Have you been in this situation? What would you do? Just live with it? Have an extra rigid contract with every customer? (I’d like to avoid that)

(I know that you can distribute compiled components for Flash MX 2004 but we target Flash MX.)

Ron
Friday, February 20, 2004

Although more difficult for humans to comprehend, disassembly is 1:1 mapping of the sourcecode anyway.  The only useful thing that the sourcecode might add is comments - what the programmer intended to do (rather than, often, what they did ;-) ).

http://slashdot.org/developers/02/03/01/0344227.shtml etc

i like i
Friday, February 20, 2004

That particular component should not be distributed in source. You should create a web form that your customers can log in, and submit the custom values/source they require, once that value is submitted, the web form will compile the relevent component using the information provided and allow that compiled component to be download. You may not have accounted for this, making this distribution method difficult, but it is possible for some projects. We'd have to know exactly why you must distribute the source, tell us more.

Li-fan Chen
Friday, February 20, 2004

Not sure if you unterstand the nature of Macromedia Flash. You have to distribute components in source code it doesn't work any other way (except for Flash MX 2004).

I guess we just have to put up with that and trust our clients.

Ron
Friday, February 20, 2004

I am not sure what you mean by that... I mean yes most Flash designers prefer examples with all the sources and images in fla's, but it is not impossible to include a swf. In fact, you can create an includable swf where you can provide parameters to customize it. What is concerning though is that the majority of people do provide in source version--maybe trying to make a name for themselves--and that doesn't leave a lot of room for shareware developers in the flash space. But if you do something like what I was descripting, you could derive some profit while protecting your IP.

Li-fan Chen
Friday, February 20, 2004

I always roll my eyes when the FS/OSS people talk about how you can make all this money off of GPLed code like Linux or Apache, but I do have to say in *this* situation, I don't really see what the problem is.  Distribute the source, charge for the software, and rely on copyright.

It is not uncommon for developer tools / libraries to include source, and some people have made substantial amounts of money selling such.  Sure, a few isolated people will use your code in violation of the copyright, but that would happen no matter what, even if it was binary-only.

Mr. Fancypants
Friday, February 20, 2004

Yes you can include source, in fact the original poster is right, anything before Flash 2004 there's no source protection of any kind. From simple activescripts to widgets to SWCs.. no support whatsoever for the compilation of code. There's limited support in MX: http://www.macromedia.com/devnet/mx/flash/articles/buildtest_comp.html

I suppose that's why there's not a single true vendor of flash reusable components as of now.

Li-fan Chen
Friday, February 20, 2004

> Distribute the source, charge for the software, and rely on copyright.

Part of what Pants say is correct, if people are lazy and copy your code verbatim, a web crawler that scans flash applets on the net can find snippets of binaries that can only exist if they use your soource. There are some famous cases where this is discovered for proprietary software (and free software) and lawsuits and/or payments and negotiations were arranged.

Li-fan Chen
Friday, February 20, 2004

I have to give out some source code for a PHP app

I do this

1. Insert customer's details in the code

2. Run it thru an obfuscator, removing comments, meaningful variable names, etc.

3. Generate source using eval to generate the obfuscated code from a bunch of coded strings

Sure they can undo each of these layers, but it
(a) makes clear they aren't supposed to
(b) makes it hard for the casual thief to help themselves.
(c) Given they have to do some thinking to get past all this, hopefully at least part of the time they will be thinking that they shouldn't be.

S. Tanna
Sunday, February 22, 2004

S Tanna, yeah you can do that with PHP, unfortunately what the original poster is talking about is reusable widgets and routines for integration into customer's flash projects. With PHP you can definitely do this, in fact you can build shareware dynamic flash generators using PHP.. and then obfuscate just as Tanna described, and distribute the "flash factory". But these flash items will be stand-alone, I don't know to what extent you can integrate them into custom flash projects.

Li-fan Chen
Sunday, February 22, 2004

*  Recent Topics

*  Fog Creek Home