9

There is a framework that implements some business logic for a niche organization. That project is open source, pushed to gitlab and uses a LGPL v3 licence.

What I want, is to extract the business logic in the form of BPMN diagrams and reimplement everything on a different framework.

I will not be copying/touching that framework, all the code will be mine.

So my question is, will my code be derivative work and can I publish it on any licence I want?

2
  • I would recommend emailing the authors of the original framework, and probably ask some lawyer. Your question is country specific: different in France (where I work and live) and in California. Jan 5 at 13:07
  • Why are you extracting business logic from code instead of from, well, business? Are you replacing one deployment with your own deployment?
    – Pablo H
    Jan 5 at 14:57
20

In theory, no - the copyright exists in the specific implementation of the code, not the algorithm in use.

In practice, it's going to be very hard for you to forget everything you've read in the LGPL code when reimplementing them in your framework, and even harder for you to prove you didn't directly copy anything from the LGPL code. This is why "clean room" reimplementations are best done by two people:

  • Person A looks at the code and creates the specification of what the code should do.
  • Person B looks at the specification (never at the original code) and writes their own version of the code. Ensure all communications between Person A and Person B are documented so you have a trail showing there was never direct transfer of the original code to Person B.
10
  • While this sound correct, is it really true? Do you have sources? I heard a while ago about some university books where the code inside has open source license/restricted license; wouldn't the same argument apply that if you learn from these books you would later need to prove not to have used that code?
    – lalala
    Jan 4 at 9:09
  • 7
    This is to a very real extent the basics of copyright law, so I'm not sure there are simple references. If you're ever concerned about this, my advice would always be to talk to an actual lawyer. Jan 4 at 9:24
  • "will my code be derivative work and can I publish it on any licence I want?" "No". To which question does your "no" refer to? Jan 4 at 15:01
  • @lalala Most programming books have very short things, or they have examples designed to teach you how to program. As an analogy, it's like if you're learning a foreign language, there are often simple stories in there that teach you the language. There is usually not much danger that people are going to try to repackage those dialogues as a novel or a movie script, for example, but even if they tried, copyright would also protect the author of those dialogues. Similarly, not many people are going to try to repackage the simple examples in programming books into a real product.
    – Brandin
    Jan 4 at 16:46
  • 3
    ... along comes Compaq. IBM sued them as well but Compaq managed to prove that their software developers never saw any of IBM's copyrighted work - not the manual, not the machine code of IBM's BIOS. The way the did it is to forbid the team of engineers who studied IBM's BIOS and manual from writing any software. Instead they wrote a description of how IBM's BIOS worked. Then a separate team used that description to write a clean BIOS. Compaq was the first company to win in court against IBM for writing a BIOS. Immediate after other companies such as American Megatrends did the exact same thing
    – slebetman
    Jan 5 at 0:54
3

BPMN diagrams can be created on many abstraction levels. You could create a BPMN diagram that is an exact detailed translation from the existing LGPL code, and then it would be a derivative work. On the other hand you could create a BPMN diagram which is on a very high level (your words 'business logic' hint in that direction) and then your diagram would just reflect the idea but not the implementation, which would likely not be a derivative work.

There is no clear cut answer to your question, it depends. Things could become clearer (towards not being a derivative work) if you use the (high-level) BPMN diagram to model the processes (with modeling tools), then adding changes/improvements to the BPMN diagram before actually implementing it in software.

2

Yes and yes, in theory, but consult a lawyer.

Cleanroom development is the historical answer to this question when dealing with a very litigious author.

An answer I've heard in the past is you can probably get away with first writing test cases to the spec and then writing code to make those test cases pass. But you must resist the temptation to look at existing code during this process. This sounds a bit like this diagram thing you're talking about. Again, consult with a lawyer.

Copyright isn't magical, it's intention is to prevent people from profiting unduly from someone else's work. You must do enough work to convince the copyright holder (or the court if it gets that far) that it is your own work you are profiting from.

11
  • 1
    Another answer might be: consult a lawyer if you think there's any risk that the author of the code might consult a lawyer. Seriously, if a project has chosen to publish code under LGPL, are they motivated to consult a lawyer to protect their copyright in a case where infringement isn't blatant? Jan 4 at 17:39
  • 2
    "Only steal if you think the shopkeeper won't prosecute." I understand your point but it's very dice-rolly. Maybe I should have lead with the last paragraph. If you're a good actor you have to acknowledge the intention of the law and the fairness of the idea. Do enough work to make sure others don't believe you are unfairly profiting from their work. Consult with a lawyer for case law about what methods have worked to prove the legitimacy of your work.
    – foreverska
    Jan 4 at 19:44
  • I start from the assumption that you believe what you are doing is reasonable and won't hurt them; reading open source code to get ideas certainly falls into that category as far as I'm concerned. At that point I would say, go ahead unless you are worried they might sue you; and if that's a serious risk, it's probably best not to go ahead even if you are sure you would win, because when things go to court, the only winners are the lawyers. Jan 4 at 22:43
  • I'm not a lawyer, but wouldn't the copyright holder need to convince the court that you're unduly profiting? In my understanding, the one who wants something has to prove first.
    – Haukinger
    Jan 5 at 16:21
  • 1
    @Haukinger OK, I get what you're saying. But they only have to prove infringement, not that you're "unduly profiting" from the infringement. Jan 6 at 10:58

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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