Consider this scenario:
I was trying to implement my own version of some awkward functionality.
The same functionality is implemented in at least one open source library (which allows copying).
My code is written from scratch and not derived from any open source library.
I wish to make use of this at work - so technically it becomes a "work for hire" and the copyright for my implementation belongs to my employer - even though I did it outside normal working hours.
I could not get this work so I asked a question on stackflow which is basically "how do I implement this functionality?"
The question was not answerable without reference to my implementation so I included the relevant almost functional code in the question*.
With the help of an answer I was able to get the code working.
The answer which helped does fully answer the question. However, I am now in a position to answer it myself.
I would like to do so by publishing a complete annotated example as a project on github.
This would involve publishing
- a working implementation
- my unit test suite
- assigning a license - E.g. BSD
In principle this would be useable in its own right. Live code is better than 'copypasta'.
Q Is it 'safe' to do this without getting permission to open source from my employer? I would very much like to do this the proper way. However, I have been trying to get the company to define an open source policy for many years without success thus far. I hold little hope of this happening in a timely manner.
Some relevant points
- code to do this is provided in at least one open source library with a license that allows copying - so it is does not meet requirements for originality of IP
- There is essentially only one way to implement this functionality correctly - so fair use or Scènes à faire might apply
- It is sufficiently awkward to implement that a good Q&A pair on stackoverflow would be beneificial to the community
- my jurisdiction is the UK.
Assuming it is trivial (de minimis) would publishing my test suite affect that? Would it be safer to publish just the minimal example on stackoverflow (making it CC-by-SA)? How can I tell if it is sufficiently trivial that copyright rules won't apply?
What happens down the line if wish to make alterations to the open source project independently of work for my employer?
This is a general question but the one which prompted it is this one (where I was trying to implement a relative pointer type in C++, of which the offset_ptr from boost is perhaps the most well known example:
Relevant related questions:
- What is defined as trivial code when licensing a project
- https://softwareengineering.stackexchange.com/questions/216029/found-a-better-solution-to-a-problem-at-work-should-i-deter-from-posting-the-c?noredirect=1&lq=1
- https://meta.stackexchange.com/questions/12527/do-i-have-to-worry-about-copyright-issues-for-code-posted-on-stack-overflow
- Can I legally use code I found on a forum?
Relevant concepts:
- https://en.wikipedia.org/wiki/De_minimis#Copyright
- https://en.wikipedia.org/wiki/Idea%E2%80%93expression_distinction
- https://en.wikipedia.org/wiki/Sc%C3%A8nes_%C3%A0_faire
- https://en.wikipedia.org/wiki/Fair_dealing_in_United_Kingdom_law
*could even publishing the broken code in my question technically be considered a copyright violation?