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.

I'm a physicist with a CS degree and just started my PhD at a tech company (wanted to do applied research). It deals with large scale finite element simulations.

After reviewing their current approach, I think that a radically different method has to be applied (they are using a commercial tool which is very limited).

I'd rather base my research on an open source finite element solver and write a program which makes use of it. I'd like to develop this idea in the evenings, because that's the time that best suits me for programming (during the day I prefer reading and maths) and use it at a late stage of my PhD.

I'd like to have the option to release my program as open source on my website as a reference, for future personal or even commercial (e.g. consulting) use.

How can I make sure that my company doesn't claim the code ownership?

I thought that a version control system could help (check out only in the evening). This would document that I programmed not during regular office hours (documented elsewhere). But these data can be easily manufactured. Any other ideas?

I want to stress that I'm not interested in selling software and neither is my company.


Very interesting responses so far. This clearly helps me. Some remarks:

  • I'm not restrained by my work contract. National law says that the company owns anything I produce during working hours and no special agreement has been made (my employer is not selling software and may be a bit naive on this side). They mostly use software and non of my colleagues is a serious programmer.
  • Secondly, I need to rethink the point raised by @Mark about trade secrets. This is quite serious in the particular industry.
  • Thirdly, I care a lot about no to upset my supervisor/ boss. But, and this is the motivation for this question, I'd like to keep the innovative part of my work a bit separated so I can reuse it or at least demonstrate it as a reference work.
share|improve this question
1  
Would it be an option to find an agreement with them? If they agree that a version control system is enough it should be OK. On the other hand, even if you commit the code at night, how to prove that you haven't been working on it during the day? –  Giorgio Nov 25 '11 at 16:20
2  
An OSS finite element solver? That's pretty cool. This question might be a bit too far on the legal side for Programmers, though. You should really speak to a lawyer to make sure your can draft an appropriate (and legally binding) agreement with your company. –  Anna Lear Nov 25 '11 at 16:28

7 Answers 7

up vote 26 down vote accepted

Don't listen to anyone who says "your own time is your own time, just don't tell anyone!" because that's incredibly bad advice that is almost certain to land you in trouble, if not at your current job then at some future one.

Not only do employment contracts vary too widely and significantly for any kind of generic advice to be useful, but different countries (including in the EU) or even different states within a single country (US) have different rules regarding how much of your work an employer owns, and even if you think you're on safe ground you can still get sued regardless, depending on how annoyed your employer is. Who has the deeper pockets for legal fees, you or your employer? I thought so.

Get permission first and get it in writing, so that your butt is covered should it become an issue later (even years later, with some completely different set of management who suddenly freaks out over what the previous management was totally relaxed about - you can't predict the future!)

share|improve this answer
    
thanks for this answer and the advice for a written permission. I also learnt a lot from the other answers (and they got my upvote) but this feels to me as the best contribution. thanks to y'all! –  Sebastian Nov 30 '11 at 19:09

I am not a lawyer, but if you were employed in my company and start working on some open source project where the project touches my business, then I would not be happy. Especially when you give something to the world for free which otherwise could be selled by us.

That would be even when you work only in the evening, using your own hardware or software, at home. So I suggest you better talk to your boss.

share|improve this answer
2  
@marcof: the boss will get to know when he is publishing his project in public on his web site. IMHO the open sourcing this thing is not very different from selling the thing on his own, without asking his boss. –  Doc Brown Nov 25 '11 at 17:23
2  
@Doc Brown: If he has been working on the project during the evenings using his time and resources, the boss has nothing to say about it. He could argue that his evening work contributed to the project he was working on during the day so as a matter of fact it was some extra, unpaid work to the advantage of the company. –  Giorgio Nov 25 '11 at 18:03
2  
because it really doesn't matter what you think. If there is a clause in the contract saying "all your work during the employment belongs to us", and you signed it, then all your work done during employment belongs to them. Its that simple. If you disagree with this, then you should get your contract changed to make it clear that work done that is unrelated to the employment and done outside contracted hours belongs to you. Note: most employment contracts have this kind of wording by default, most people don't bother to read it and I'm sure most companies don't realise its their either. –  gbjbaanb Nov 25 '11 at 19:09
2  
@Sebastian: I think you should follow what your contract says. Sometimes the contract says that you are not allowed to work in the same field, even some time (e.g. one year) after the contract has expired. IMO this is b......t, but unfortunately there are such contracts. Check your contract and, if needed, consider if it is possible to change it. –  Giorgio Nov 25 '11 at 21:48
1  
@marcof: you did not get my point - the problem is not that he is working in his spare time - I see just a problem when he is going to publish information his boss might think it should be kept confidential. –  Doc Brown Nov 25 '11 at 21:49

I had similar issue once, on a far smaller scale... Some comments: I do not think that source code commits to a remote repository service (codesion, github, bitbucket etc) can be fabricated. An approach that I followed was to commit with a friend watching the repository on the other end of a MSN session (we discussed that and he would testify in court if needed).

A good read on how someone talked over with their company is (I believe) dropbox's Y-combinator application, quoting:

Are any of the founders covered by noncompetes or intellectual property agreements that overlap with your project? Will any be working as employees or consultants for anyone else?

Drew: Some work was done at the Bit9 office; I consulted an attorney and have a signed letter indicating Bit9 has no stake/ownership of any kind in Dropbox

What I would do if I was you, would be to proceed and be ready to prove any given moment that whatever you commit, is not related in any way to material available in your "morning" job...

share|improve this answer

If you want to code something on your own and use it for your company you will want to clear that with your boss first making it clear your working on it outside of work hours. You would have to consult your software usage policy to see if you can use open source programs as a company solution. For my company as long as the program is developed outside of company hours and not on company systems we could distribute it to the open source community and use it internally.

share|improve this answer

Your specific problem cannot be answered without knowing the details of your contract of employment and details of local employment laws, but an answer to your general problem can be suggested.

It seems to me that your work divides into four distinct categories:

  1. Work you do on your PhD thesis.
  2. Work you do to create and maintain the finite element analysis library you use for your PhD work.
  3. Work you do applying your finite element solver to problems at your place of work.
  4. Work you do to create and maintain the finite element analysis library you use for your companies work.

It is clear that all work done for 3 is owned by the company you work for and is probably confidential and proprietory.

It is also clear that morally, you should own all work done on 1, but that may not legally be the case unless you get it written explicitly into your contract of employment.

It is the matter of 2 and 4 which are trickiest. Ideally you want to combine them, so I can see three options here:

  • The worst option is that you keep them completely seperate and have to repeat the coding you do at work when you get home or vice versa. Even then, you may not own the rights to your personal library, even if you do make it open source.

  • The next option is that the company keep ownership of the library, but you get them to grant you a license, in perpetuity, to use it for your PhD work. Unfortunately that means you won't be able to release it as open source.

  • Finally, and this is probably the hardest sell, you get your company to sponsor your open source library.

This final case is the most interesting, but all three require you to negotiate with your employer.

By sponsoring your work on an open source library, your company gets to be the good guy, it gains the benefit of your un-remunerated time, and potentially it gets even more value as other people help to test, debug and enhance the library.

Now you will have to be careful to keep domain specific enhancements relating to company trade secrets in a company local branch, or structure your library in an extensible manner, so that they don't leak into your library, but this is not an unsurmountable problem.

share|improve this answer

If nothing else works, then maybe you can publish the code under the name of someone else you trust (a good friend, girlfriend, your mother) and make a "contract" that you own the code or let him/her "licence" it to you or something similar.

I'm not saying this is sane, but similar schemes are used worldwide for all sort of stuff and maybe can help you protect you legally from your company. I'm not sure, how it would work for you if at all and don't take me too seriously.

share|improve this answer
    
I somehow find this idea strangely attractive. That way, I could tell my employer: "Look there is this guy X who has an interesting piece of open source software on his website, I'd like to use it". But if I later want to commercialize the tool (not in the sense of selling it, but e.g. use it for consulting), I'd have to put my real name under it. –  Sebastian Nov 25 '11 at 21:02
    
Yep, there would be several problems with this approach in addition to the fact it is slightly illegal anyway. But if under any circumstances you need to use that option, tell me to delete my post to eliminate any evidence :) . –  Timo Nov 25 '11 at 21:14

You haven't listed your contract or where you live but I can tell you that here in the USA your company generally owns anything you do even outside of work if it's related to their business and given your description that you think you have a solution to something they are doing that is better than their current solution that sounds very much directly related to their business.

It would be up to the courts to decide if what you are doing is related but it seems pretty clear from your description it is.

The idea that stuff outside of work time that is related to your company's business belongs to them often sounds strange at first but there are plenty of logical reasons it has to be this way for many types of jobs.

Imagine the law was you owned everything done outside of work time regardless of if it was related. What would the consequences be? Some ideas to get you started.

You're in a meeting with some co-workers at 11am to 12pm and discuss some new product goals. 12pm to 1pm you take your lunch break. During lunch you have a brainstorm and think up an awesome solution. Do you own that solution? Can you reasonably and morally go back to the company and demand they must purchase this solution you just had because you thought of it not on company hours?

For knowledge workers, companies pay you not for 40 hours a week. They pay you to solve the problems they put in front of you regardless of when.

As others have pointed out there's also a conflict of interest. Imagine I work at a game company that has so far only made real time strategy games. I decide to, on my own time, make a platform game at home after hours. If I design a great AI algorithm at home don't I have a moral obligation to share that at work? If I withhold the ideas of game systems I develop at home from the solutions I put forward at work am I really holding up my end of the bargain with my employer? They are paying me for those solutions. Arguably, even though I came up with it on my own time it belongs to the employer. Again, they are paying me for solutions regardless of when they are thought up.

If you want to work on stuff outside of work you have basically a few options

1) Get written permission.

2) Do something unequivocally not related to your employees business.

3) Quit and do your the thing you felt so confident about.

For #2, again, it's going to be up to lawyers if it's remotely related. If you work at an IT company in the day and run a restaurant at night then there is probably no issue. If you work at a company that makes say net security software and you write a twitter app at night it's starting to get more ambiguous. Only you can decide how much risk to take. The best approaches are #1 or #3

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.