I am trying to understand the GPL and not succeeding. Though it probably should not be, code is much easier to understand. There are two concepts that I am having trouble figuring out what they actually mean.
The first is "modify." In certain cases this is clear. If one changes a few lines of code and then recompiles, one is modifying. Is one modifying if one translates into an entirely different language? Does the difference in languages matter? Translating from Java to C# is nothing like translating from FORTRAN to C#. Also how does the nature of the content affect this? I am particularly interested in mathematical software, where a major degree of similarity is inevitable. For example, everyone’s code that implements Runge-Kutta methods (great for solving differential equations) is bound to be extremely similar.
What does "convey" mean? I assume that an msi package conveys. However if code is running on a web server is it conveyed by viewing a web page? What is the situation for a web service or CLR code in an SQL server? If it is in a Silverlight app, is it conveyed?
To put this in context, my desire is to take some open source mathematical software and then make it available in .Net, but with much relaxed licensing.
Please help. All of the references I have been able to find, do not seem to be connected to life as a modern .Net developer.
Though I think it almost too obvious to mention, any response you might make is not something that I consider as legal advice. My hope is that someone in the process of working on a project had to deal with these licensing aspects and is willing to share some of their experiences.
Thanks
Ken