I am both the sole developer for a relatively small company and someone who enjoys programming as a hobby. Recently, for one of my personal projects, I started making a framework for a RESTful API and NoSQL integration that I enjoyed programming at home. Near the same time, my work assigned me to begin a project for integrating the disjointed pieces of our backend into something more easily extensible -- using a RESTful API. As I have begun to code both of these projects, I have found that they are, understandably, shaping up in a similar way (similar class hierarchy, interfaces, etc.) However, I have been programming both of them separately, without copying code from one project to another, and only doing work on work time and personal projects in my personal time.

Now, since I have no agreement stating otherwise with my work, I know (or assume) that all code I write there is copyrighted under my workplace, and not under me. And, as I said, I have not taken any code from work and used it in other projects. Also, while some aspects of both projects are similar, others are quite different (the work one does not use NoSQL because too many processes depend on SQL, for example). The similarities seem unavoidable to me, since I am writing both and I have a specific idea of how HTTP requests should be handled, data should be returned, etc.

However, I still worry about the legal implications of all this. While the code itself has not been copied between projects, the solutions have similar points, and I was wondering if only the text of code is copyrightable, or the overall solution. Could these two projects that handle the same problem in similar ways be considered derivative of one another? I.e., could my home project be considered an infringement of work?

If that answer would be yes, the similar solution would be grounds for infringement, it would cause me additional worry, as I believe if I made a RESTful API 10 years from now, it would still look similar, as it is the way I would handle this kind of problem.

Also, I know this is not a site of legal experts and any advice I get is subjective, so I suppose I'm also looking for insight into what is the Right Thing™.

closed as off-topic by gnat, durron597, Thomas Owens Jul 30 '15 at 19:09

  • This question does not appear to be about software engineering within the scope defined in the help center.
If this question can be reworded to fit the rules in the help center, please edit the question.

  • 2
    You're asking about IP patents, which is beyond the scope of this site. – Lawrence Aiello Jul 30 '15 at 13:59
  • A nice solution might be to release your personal project as bsd-style open source, and then ask your employer if you could use it as backend (since it already contains part of the functionality you would have to reimplement in work-time). – Wilbert Jul 30 '15 at 14:05
  • I'm voting to close this question as off-topic because it is about legal matters. – Thomas Owens Jul 30 '15 at 19:09
  • In no way is this legal advice. You mention that there is no agreement specifying the details of the ownership of personal vs. work efforts; there is bound to be some common law here that will be in effect. You will need to chat to a local expert about this. – Niall Jul 30 '15 at 19:45

Even if you did not copy code between the two projects - at least not intentionally - if your employer gets to know about the issue, he might impute this to you.

And can you be 100% sure you did not copy anything unintentionally? Given someone runs a compare tool on both source codes, can you be sure he will not find parts for which it might be debatable if they are really "newly written", or might be copied? You wrote you got have "similar class hierarchy, interfaces" - for me this sounds more than just following the same ideas, "class hierarchy and interfaces" are things expressed in code. If the worst case happens and your employer is going to sue you, are you sure he will not find a judge with a similar opinion?

So if I were in your shoes, I would be very careful and avoid to publish your personal project openly.


Ideas can not be copyrighted. Only specific implementations of an idea fall under copyright.

But ideas can be patented. Patents on software are not valid in all jurisdictions, so when the idea happens to be patented you might still be able to distribute your software in some parts of the world but not others.

  • 4
    Ideas cannot be patented. Ideas have to be developed to a point where they are actually useful and working. – gnasher729 Jul 30 '15 at 14:57
  • 1
    @gnasher729: That's how it's supposed to be. Reality, with the multitude of issued patents on time travel and perpetual motion devices, says otherwise. – whatsisname Jul 30 '15 at 17:04
  • Some designs CAN be copyrighted; hew too close to code that someone else wrote, and you may wind up in a courtroom trying to convince a judge or jury that what you did wasn't over that line. – DougM Jul 30 '15 at 18:55

Both code and system design are subject to their own claims of copyright. And if you're intimately familiar with someone else's work, even a clean-room defense might not hold up in court.

The simple fact is that there is no good easy answer to "how close can my hobby be to my work before I cross the line." Even if we switch the topic to something slightly easier (for judges to understand), like songwriting, the grey area is still big enough to lose a house in.

Thankfully, you're not working with a team or for a company whose main business is selling your code. What you have is a potential disagreement about what code is "theirs" and what code is "yours", and that's best solved by taking to your employer and getting some sort of agreement in writing.

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