Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

This question got me thinking what products of the programming effort belong to the employer, and what don't.

The two extremes are (0) the code - it apparently belongs to the employer and (1) the learned personal and technical skills. But what is in between? Who owns the pseudocode/algorithm? Who owns the general idea of the algorithm? Who owns the know-how that such an algorithm may serve some useful purpose (e.g. on this site questions are values, as well as answers)?

Also: Who owns an idea on the web?

share|improve this question
    
I think that you own the idea and algorithm, but usually you cannot use them in a competitive way against the company for a certain amount of time (e.g., 1 year after you leave the job) –  PBrando Jun 28 '12 at 8:30
2  
Check out your work contract, it should (partly or fully) include answers to your questions. –  Péter Török Jun 28 '12 at 8:51

3 Answers 3

The only answer that's actually likely to be 100% correct is that it depends on your contract and local laws, talk to an IP lawyer to be sure.

My personal experience in the field leads me to believe the following:

Many contracts have clauses that say any actual work you do (i.e. code, documentation) belongs to your employer, sometimes during work hours, sometimes ALL the work you do for the duration of the contract.

Algorithmic ideas may be patented by the company or someone else, in which ownership is always clear.

If the "general idea" of an algorithm is actually covered by a patent (and it usually will be if it's written by decent patent lawyers), then it belongs to the patent-owner.

The know-how for a useful purpose of an algorithm isn't really own-able, unless it significantly deviates from the purpose of the algorithm as described in any existing patent, in which case you could conceivably get a patent for the new use, or get a license for the patented algorithm and develop a business model around it.

share|improve this answer
1  
"Algorithmic ideas may be patented" - that is discussed in many countries, read this en.wikipedia.org/wiki/Software_patent to find out more. –  Doc Brown Jun 28 '12 at 10:36
    
@DocBrown - thank you for the link, it underlines why it's so important to talk to an IP lawyer when it is truly important to establish ownership. –  Joris Timmermans Jun 28 '12 at 12:33

In my contract I have a point saying that I own every algorithm that I developed by myself, and might use it whenever and wherever I want. The same thing is for the ideas which I suggested and which were used. Of course this doesn't mean that I can take the code with myself. But I'm free to use pseudocode/algorithm elsewhere.

This doesn't include anything that I developed with someone else, I guess. So apparently if I developed smth together with another member of our team, it doesn't belong to any of us, but only the company.

Such things should be written in the contract to avoid future problems.

EDIT: as PBrando said, you can use any algorithm and idea used by you in the company after some amount of time. In may case it is 3 years.

share|improve this answer

Well, what seems logical is that the code itself containing the business logic of the application / software should not be kept without permission of the company.

On the other hand if we talk about the Algorithm or Idea that may differ from above because an Algorithm is what you follow or develop to solve a particular problem that usually is not directly associated with the business logic of the application itself, like you had an issue with multiple files uploading and you created a function in you code and implement that also one may have some algo for user auth process or you have designed a custom function which gets name of the table and excluded fields from it and selects everything else from the table, this is your own creation I think you can use that.

Above all, that literally depends on the contract, what it says, though its mentioned in most contracts that you are not going to reuse the code but, I think its regarding the entire project, its main theme or idea. What a developer can reuse is a piece of code or logic he has developed to solve a particular issue.

If we are stuck to very strict rule regarding this then how can anyone justify reuse of even a facebook authentication process in multiple applications ? as we develop apps for different clients {who are actual owner of apps} and we use the same auth process for every app {mostly} then in this case before us our employer should answer for the reuse of the code

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.