All BSD licenses start with the following paragraph:

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

What does the part "with modifications" mean legally? Common sense suggests that if you fixed a typo or added a function/argument/type, then this is a modification. But what about the following:

  1. You completely rewrote everything and changed every single line. Is it still modification? Even if there's nothing left from the original code?
  2. You haven't copied the code but implemented it on your own (by memory or reading slides from someone's presentation). Is it still considered a modification?
  3. You were inspired by some code and wrote your own version of the solution from scratch. Something can be similar but it's an entirely different solution. Is it still a modification?
  • 1
    What is a modified/derivative work is a matter for copyright law, not for the license to define. – amon Mar 27 at 10:31
  1. This is the old Ship of Theseus dilemma. Ultimately, I think that this question would ultimately be up to the courts. If it was a jury trial what could you convince the jury of?

  2. It's not a modification. Consider SSH. It's an IETF standard, which is for the purposes of this discussion comparable to slides from a presentation. And yet closed source implementations of SSH exist. Another example: SCP. There is no IETF standard for SCP. The standard is the OpenSSH implementation. And yet closed source implementations exist of that.

  3. It's not a modification. I mean, you might need to be mindful of patent violations if doing this with code that has been patented but in-so-far as BSD licensed code is concerned... no - it's not a modification. Consider Bitcoin. Licensed under the MIT license (which has a similar modification clause). Ethereum was pretty clearly inspired by BitCoin but I don't think anyone under the sun would call it a modification of BitCoin anymore than iOS is a modification of Android (or vice versa).

  • 2
    #2 is dubious. It's not a clean-room implementation of an idea, if you have seen the code at some stage and then re-implement of what you saw. Only the clean-room implementation of an idea allows you to argue safely that you don't copy and thus don't violate the copyright of the other code. – planetmaker Mar 27 at 0: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.