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

Reply via email to