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?

  • Related: Code in journal papers
    – Mangara
    Commented Jul 31, 2015 at 15:08
  • No conclusive answers so far, is this question more suitable for stack exchange? I asked it here because in my opinion it is more about using text from scientific literature (books, and papers) then about porting code that was already licensed in a particular way.
    – Sarmes
    Commented Aug 5, 2015 at 11:46
  • I suspect it's an issue that everyone silently ignores, because the intent of the authors was clearly for others to use their code. You could also try programmers, they have a bunch of questions on licensing.
    – Mangara
    Commented Aug 5, 2015 at 14:12
  • Related se.se question What does it mean for a software to be copyrighted, but the source is also offered? specifically discusses "All Rights Reserved."
    – shoover
    Commented May 18, 2022 at 16:29

1 Answer 1


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.

  • 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
    Commented Jul 31, 2015 at 13:27

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .