5

For my research I programmed several optimization algorithms as close as possible to their original implementation/explanation when they were published. The original codes were some times described listing the required mathematical opperations or some times with examples in different programming languages (Fortran, C, pascal, or even pseudo code). I was thinking about sharing the MATLAB implementations of those programs, because they are not available yet, and I think it could be useful for a lot of people.

Of course I would refer in each program to the original papers, or code implementation. But could I have any legal problems for sharing such code because it somehow violates copyright regulations?

If the original code already specified some sort of licensing terms, I can read there what the rules are. But the source of most of these codes were printed in books or papers, where no licensing terms were mentioned except for copyright.

An example:

A Simple Genetic Algorithm - SGA - vl.O
(c) David Edward Goldberg 1986  
All Rights Reserved

What does that mean?

Do I need to ask permission of the author? The journal or book publisher? Or can I share my port/implementation how I like?

jakebeal
  • 187,714
  • 41
  • 655
  • 920
Sarmes
  • 365
  • 1
  • 9

1 Answers1

4

When you create code based on an existing implementation, this is referred to as porting, and the code is considered a derivative work covered by the "derivative works" clause in the software license of the original. For the code written in an executable language, that is generally the copyright you need worry about, not the copyright of the publication (which is also "borrowing" the code from its original source). If the code has not been published elsewhere, such that there is no stated code license, then it's probably a short and algorithmic enough segment to think about it like pseudocode.

Pseudocode is a more iffy subject, where people disagree about whether it is copyrightable or not, since mathematical equations and recipes cannot generally be copyrighted but software can be. Personally, I would take the position that pseudocode used to express an algorithm in a scientific paper should be considered non-copyrighted, since the communication is explicitly intended to enable reproduction of the scientific results.

Glorfindel
  • 613
  • 3
  • 10
  • 20
jakebeal
  • 187,714
  • 41
  • 655
  • 920
  • Thanks for the commend the term porting was indeed appropriate to find more information on this. My problem is that the most of the original code's do not mention any modern licence terms. They were included in book chapters, papers, or source files with commends referring to the paper. Some times the method is also just explained in successive mathematical operations, without even pseudo code. I will try to clarify that in my question. – Sarmes Jul 31 '15 at 13:27