View Full Version : Licensing code?

04-10-2010, 10:19 PM
Hey Everyone,

I frankly know very little about software licensing and wanted to see if anyone can offer any advice, or even point me in the right direction.

As I've programmed over the years, I've managed to accumulate a large personal library of code. I always try to program in a way so that classes can be re-used down the road (no need to reinvent the wheel each time, right?).

Take this hypothetical situation - Say I'm doing two projects back to back that both require video players. Before either project begins, I already have my handy dandy video player classes ready to go that I've written in the past. The two new projects will both use this as a base and then I'll do some custom skinning and maybe some additional features on top of it all.

Is it possible to protect my existing code base in this situation? I'd like it utilize pre-written code to speed up development, but I'd also like to maintain the rights to it. I'm worried a client might think of the entire project as a work for hire and that they own every line of code.

Is it as simple as just releasing my code under the correct license, or do I need something more like having clients sign a contract stating that they are simply licensing existing code?

Thanks in advance for any advice on this topic.

04-10-2010, 11:17 PM
Well, first it would be good if you could tell what exactly are you selling to the customer - is that the code or the compiled application? Normally if selling the code isnt mentioned, that would mean it is all yours - do with it whatever you want, license it however you want.

04-10-2010, 11:51 PM
Good question. Of course the compiled app is what the customer generally wants, but sometimes they do want the source code as well. I haven't typically worried that much about handing over source in the past if asked, so I don't typically even clarify the compiled app vs source code. Maybe I should be though... Either way, it seems like I should be licensing my stuff under something.

04-11-2010, 10:26 AM
There's a difference in how you can hand the code to the customer. Selling the code is one thing and giving the sources still licensed to you is another thing. If you sell the sources, then, technically, they no longer belong to you and if you use them for something else, or sell them to another customer, that doesn't sound right to me. I believe that the most customer-friendly way is to license your code under GNU or similar license, unless they insist on other licensing. Because if you do it this way, you ensure that you can use your code in the future and no one is going to sue you for using the same code when working for other customers, while it doesn't oblige the customer to employ you to maintain the code. That is, the customer will be able to hire another person to continue to work on your project.
It is hard to believe there will be technological break-throughs in the AS code or anything of that sort that you, or the customer would want to license under some proprietary license or pattent. It is not impossible, but rather very rare. (Think of Grant Skinner's spellchecker as an examle of the opposite).

However, there may as well be different opinions regarding this problem.

04-11-2010, 05:53 PM
Thanks for your thoughts on this. I appreciate it. This definitely helps me understand this better.