2

I found a project that is very clever and I would like to build my own but using some of their ideas. That's basically what I did but now the code is similar, because we follow the same idea, but I did not reuse any of their code, I've handwritten it entirely, but now it looks similar.

Do I have to mention where the original idea come from, and include their copyright license, even if I did not use any of their code? I have just written mine myself but it looks similar.

4
  • Please link to the original project, or at least tell us what licence it's under. Did you read the code of this project before writing your own?
    – MadHatter
    Dec 16 '20 at 9:48
  • @MadHatter But from a legal perspective, does simply linking to the project is enough, or do I have to copy paste their full license? And yes, I skimmed through their code while writing my own
    – Jojolatino
    Dec 16 '20 at 9:52
  • It depends on what their licence says. If you don't tell us what that is, we can't give you any advice.
    – MadHatter
    Dec 16 '20 at 9:54
  • It's under BSD 3, they state that "Redistributions of source code must retain the above copyright notice" BUT I didn't technically redistributed their source code as is
    – Jojolatino
    Dec 16 '20 at 9:55
4

The right to produce adaptations of a copyrighted work (aka derivative works) is one of the rights reserved to the copyright holder in Berne Convention countries. The rightsholder may usually licence it to others if (s)he chooses to do so.

You've read this program, then set out to produce your own program that implements the same ideas, and by your own admission "it looks similar" to the original work. I can't say with certainty whether or not what you've produced is an adaptation of the original work, but I wouldn't like to bet against it. So let's assume that it is, for the rest of this answer.

Fortunately, the original work is licensed under 3BSD, which says that "redistribution and use in source and binary forms, with or without modification, are permitted". Since your work is an adaptation of the original, you are distributing the original work, "with modification". Three conditions are given for this:

  1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

  2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

  3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

It doesn't sound like you were planning to contravene (3), so that issue doesn't arise. You haven't told us whether you'll be distributing your project in source or binary form, but when you do, the conditions that you must satisfy are clearly spelled out above.

5
  • But if my code is similar but not like if it was copy pasted, can I just mention the name of the project with a link to it, instead of the full license?
    – Jojolatino
    Dec 16 '20 at 11:18
  • 3
    No. Either your work is an adaptation, in which case you must honour the licence requirements in full, or it's not, in which case you have no obligations at all. There's no halfway house ("I was only violating their copyright a little bit, so I only honoured the licence obligations a little bit.")
    – MadHatter
    Dec 16 '20 at 11:22
  • But now that I know how their code work, how can I use this knowledge in my own code without mentioning the original project?
    – Jojolatino
    Dec 16 '20 at 15:32
  • In my opinion, you can't. Your decision to read their source code before writing your own, combined with your admission that the sources are similar, puts you very much on the back foot in making a defence against copyright infringement. The licence obligations of 3BSD are pretty light; why not just honour them, for then the licence protects you against any such allegation?
    – MadHatter
    Dec 16 '20 at 16:21
  • 2
    @Jojolatino It is for just this reason that the traditional model for clean room reverse engineering involves developers who have never seen the original source code
    – apsillers
    Dec 16 '20 at 21:38

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.