Hello,
I have ported mmsystem.pas (from Delphi) to FPC (not that much work). If it's possible, it could be joined with FPC... Whom I can send this port?
Best regards,
Aleksey

Mailing lists / fpc-devel / 2001-03
7 messages · 5 people · –
Reply by email Subscribe to this list Your subscription
Read-only archive. Use j and k to move between messages.
Hello,
I have ported mmsystem.pas (from Delphi) to FPC (not that much work). If it's possible, it could be joined with FPC... Whom I can send this port?
Best regards,
Aleksey
Aleksey V. Vaneev wroteI have ported mmsystem.pas (from Delphi) to FPC (not that much work). If it's possible, it could be joined with FPC... Whom I can send this port?
Did you copy the unit and then modify it?
You know that you are not allowed to redistribute that (modified) unit, and that you would violate copyright, getting FPC into trouble?
I have ported mmsystem.pas (from Delphi) to FPC (not that much work). If it's possible,…
To me.
Michael.
Hello,
Did you copy the unit and then modify it? You know that you are not allowed to redistribute that (modified) unit, and that you would violate copyright, getting FPC into trouble?
No one can prove anything since MMSYSTEM contains only function/procedure declarations. That's not code really. In fact I think that this MMSYSTEM appeared in Delphi the same way - like it was derived from some Windows SDK.
Best regards,
Aleksey
I tend to agree, Copyright law clearly states that "Obvious" and/or "Trivial" things are not copyrightable. If you can tell from an API the structure of the data and/or the function definitions (which/I/ would call trivial), then you can easily reconstruct them. For example, looking at the textcolor function, I can easily deduct something like:
procedure TextColor(const color:byte);There's pretty much only one way to do it. We know the colors aren't an enum type, but constants, there isn't much else anyone could come up with.
Perhaps there's a fine line somewhere to be crossed, but the fact that borland has always supplied the interfaces for their units, while protecting the actual unit source (unless you buy the source too), shows me that the interfaces aren't worth protecting. But it another way, it's pretty much 100% automatic to convert C's .h files to pascal, etc., because there is no real code.
While there is only one basic way to declare a functions, sometimes there could be many ways to impliment it.
I think copying an interface to port it or impliment the same unit is legit most of the time, it doesn't really save any thought though, just typing. An example of this being done already is the Free Delphi Lotus Notes library. The Lower level was directly ported from C to Pascal by an automated converter, and then we higher levels (object classes, etc.) were built on top of that.
- noah silva
I have checked the mmsystem.pas file that comes with Delphi, and there is no copyright statement in it other than that of Microsoft. It does contain a note saying that it was translated by the 'Inprise Corporation'
This being the case, I think we can safely use it (unless some core members disagree)
Michael.
Just as an entertaining comparison:
An origional writing (i.e. a book) is copyrightable. A translation is often considered copyrightable. (i.e. seperately from the book itself). I believe this can be true to some extent, because while the spirit of the book shouldn't change if it is translated from english to german, etc., but there may be a lot of different ways to word something in many cases.
One thing I found amusing though, was a copyright I read on a romanji "Translation". For those who don't know (which I assume is most people?) Japanese uses their own charicter set, based on pronunciation. There is a standard mapping (several slightly different ones, actually), used to write the pronunciation of each japanese charicters in the roman alphabet we use for english. As such, the char that sounds like "ah" goes to "a", etc. This system is called Romanji. So, take a word written in Japanese, and it is very each and systematic to write it in romanji.
An example is the japanese word for "I", which has three sharicters in Japanese, sounding like [wa][ta][she], this translates into romanji as "watashi".
I saw some song lyrics on a web site translated from Japanese chars into Romanji. This wasn't done by the author of the song. The amusing thing was that they claimed Copyright for the Romanji (not the song itself) "translation". I think this is a bit absurd since it is what I would call both "trivial" and "obvious" to do. (The other entertaining thing of course was that I am sure they didn't have the origional author's permission to publish the lyrics in any form on the internet!) It would be very easy to write a computer program to do that work, so it's obviously not very creative work. You may have wondered why I strayed so far from the topic of this list, but I think translating a header API amounts to about the same thing, since, again, it is rather straightforward and obvious, and can be mechanized fairly easily.
thanks,
noah silva
disclaimer: I aced Business Law in college and High school, but I am not a lawyor!