Hi Chris, i'm not sure that i understand all your questions, but i'm trying to answer as best i can.
Chris Bennett wrote on Sat, Aug 27, 2016 at 12:00:29PM -0500: > I'd like some help understanding how the policy works with actually > having something acceptable to being included into base vs. needing to > be a port. > Some code essentially has only one way to write it and I see it all over > the place. Calling a variable with another name doesn't seem at all like > original code to me. Copyright doesn't apply to single lines, even less to single words. It applies to "works". https://en.wikipedia.org/wiki/Copyright#Eligible_works So, if you somehow get to look at some proprietary software and like some variable name, you are free to use the same name in your own software from the Copyright point of view (of course, if the code belongs to your employer, your working contract might forbid that you use information obtained at work privately, but that has nothing to do with Copyright). > There is code in base written in Perl that is new code. > Base Perl changes adds and removes modules over time, like CGI being > removed. > For example, using a base Perl module might be a problem if it is > updated and removed to CPAN with a license change. Bang! Problem. OpenBSD base includes many modules that are from CPAN and not from Perl base. When these are updated, we check that the license is still OK. In practice, that's hardly ever a problem because most stuff in CPAN is published under the Perl Artistic license, which allows inclusion into OpenBSD. > Also, there is existing code that I never ever look at, but I write > essentially the same code myself independently. How does that effect > things? Doesn't matter: https://en.wikipedia.org/wiki/Copyright#Originality "Two authors may own copyright on two substantially identical works, if it is determined that the duplication was coincidental, and neither was copied from the other." In practice, that's rare, because Copyright applies to works, not to lines or words, and chances that a complete work (e.g. software program) is identically written by two people independent of each other are very low. There is a famous story, though, where in early UNIX development, even though Ken Thompson and Dennis Richie usually knew where each other was working and kept their areas of work separate, both did write exactly the same program. It was such a rare event that people still marvel at it. > There are also many modules on CPAN that use the same license as Perl > itself. Can I bring the code itself only into the project, not the > module so that only that version is used? Yes. The Perl Artistic license allows creation of derivative works. So you can take parts from programs and modules and create and distribute modified versions, as long as you keep the original Copyright notice and license, make it clear what you changed, and distribute the changed files as free software - for details, see the file "Artistic". > There are also bits of code that are very restrictively licensed. > Do I even dare look at it for ideas? Doesn't matter at all. Ideas are never subject to Copyright, only the *expression* of an idea in a particular form is. So there is no problem if you carefully study the source code of a program, then write your own program doing exactly the same, as long as you don't copy code in the process. Of course, the Copyright holder of the program might sue you, claiming that you *did* copy stuff, and if that person or company is rich, such a lawsuit might be very inconvenient. For that reason, people who are exceptionally prudent sometimes use https://en.wikipedia.org/wiki/Clean_room_design in particular when dealing with commercial code coming from corporations who are notorious for sueing. I'm not a lawyer, this is merely how i understand that stuff. I won't pay you damages if you rely on this and something goes wrong, the responsibility for what you do is yours. When in doubt, ask a lawyer. Yours, Ingo
