Menu

#17 unfork?

v1.0 (example)
open
nobody
None
5
2017-12-29
2013-05-12
No

I appreciate very much the work you have done on ms-sys; it is a useful application.

With that said, please reference http://sourceforge.net/p/ms-sys/support-requests/1/

ms-sys clearly is violating Microsoft's copyright by releasing Microsoft's work under the GPL without authorization. This seems to be the position of reputable Linux distributions as well ... for example, ms-sys was removed from Debian when this fact came to light (reference http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=425943).

I noticed the link to the ms-sys-free fork while browsing sourceforge.net, and I have been playing with it today. In my testing, I was successfully able to create a Windows 7 installation USB stick using ms-sys-free and the --mbrsyslinux option. I am therefore wondering if there is any other use case which requires the copyright-infringing options. Please forgive my ignorance, if applicable, but is there in fact a need for the infringing options, or could users accomplish the same using the non-infringing options, as I did? If there is in fact no use case which requires the infringing options, why not simply remove them and "merge" with ms-sys-free? The infringing options could be redirected to use the applicable non-infringing counterparts.

If ms-sys were to be made GPL-compatible, it could be re-introduced as a package for distributions such as Debian. On the other hand, if the copyright infringement is not remedied, I will have to settle with suggesting the ms-sys-free fork as a package for the distributions I use, but that seems like a waste.

Discussion

  • Henrik Carlqvist

    I am very much aware of http://sourceforge.net/p/ms-sys/support-requests/1/ as I wrote about half of the postings in that thread.

    ms-sys clearly is violating Microsoft's copyright by releasing
    Microsoft's work under the GPL without authorization.

    Pleas elaborate. Ms-sys does not include any source code written by Microsoft. The source code includes some data which can be used to boot Microsoft operating systems. That data is included to identify, repair and prepare Microsoft OS disks and partitions. The data however is not executed by ms-sys.

    Please feel free to use ms-sys-free if you so prefer for whatever reason. Please also feel free to continue the work on ms-sys-free and also to use any of the code that you wish from ms-sys for ms-sys-free or other projects with GPL compatible licenses.

    But please do not waste my time with support requests asking me to remove functionality when others have already asked the same.

    regards Henrik

     
  • Anonymous

    Anonymous - 2013-05-13

    I am aware that you participated in that thread; you also demonstrated pretty clearly in that thread that you do not understand the implications with regard to copyright law. Perhaps your country of residence does not recognize copyright? I do not know. What I do know is that (according to United States law, at least), you are in violation of Microsoft's copyright.

    I do not wish to waste your time (or, more to the point, mine) by arguing this with you if you definitely do not care whether you are breaking the law as well as mislabeling your software as GPL. In support request #1, it appeared to me that you were receptive to increasing your understanding of the issue. If I was wrong in that interpretation, or if that is no longer the case, I will not continue to "waste [your] time."

    Let me first try to summarize copyright law, in the hopes that you will see how your are violating it. (This is according with United States law.)

    1) Pretty much any creative material is subject to copyright.
    2) Works that are subject to copyright are automatically copyrighted. The author does not have to “register” a copyright or even label the work as copyrighted in order to enjoy the protections of copyright.
    3) Unless the author of a copyrighted work provides a license to use or modify their work, it generally may not be reproduced or modified without their permission or without falling under an exception to copyright law such as “fair use.”

    Now, let me try to briefly explain how these points are relevant to ms-sys ...

    1) The original machine code which you reproduced is subject to copyright.
    2) The machine code is copyright of Microsoft.
    3) There is no license provided by Microsoft to use or modify their work, and no copyright exception is applicable, therefore you may not reproduce or modify their work.

    In case you still do not understand, let me try to specifically reply to some of the statements you have made ...

    “br_fat12_0x3e.h and similar does not contain machine code. This is C source code containing numbers. When the C source is compiled it is able to write x86 machine code simalar to the x86 machine code written by Microsoft programs like fdisk and sys.”

    The short version of the above statement is that your application is reproducing Microsoft's machine code. A copyrighted work cannot be reproduced unless it falls under a copyright exception.

    “The files were written by me” / “As all files are written by me none of them are copyrighted by Microsoft.”

    I could type up the Harry Potter series on my computer, but just because I typed it doesn't mean I own the copyright, or that J.K. Rowling doesn't. Even if I translated it to another language, so that none of it looks the same, it would still be a violation of copyright because it is a derivative work (like your “C source code containing numbers”).

    “The program ms-sys does not harm Microsoft in any way.”

    Whether it harms Microsoft does not determine whether it is a violation of copyright law.

    “I have copied ... from specifications.”

    Unless the specifications grant you license to use or modify the material, you may not.

    “The program ms-sys does a simple thing. It only copies some data to a file”

    The “data” you reference is work copyrighted by Microsoft. You are providing a copy of copyrighted work without permission (you are violating copyright law). Perhaps it will be helpful for me to point out that if ms-sys merely performed the action of copying, and not provided the material to be copied, it would NOT be in violation of copyright law. In other words, if the user was responsible for supplying the material to be copied (maybe they can get it from their copy of Windows?), ms-sys would not be in violation of copyright. Another way to resolve the GPL violation component (only) of the issue would be if you separated the ms-sys executable code from the Microsoft copyrighted boot “data” (as you call it). So, if ms-sys did not provide the “data” in question, it would not be in violation of GPL or copyright. If you set up another website which provided files containing the “data” in question, you could release those files without claiming (incorrectly) that they are GPL. Of course, your second website would still be violating copyright.

    “Microsoft has their own programs for writing boot sectors. Using Microsoft fdisk or Microsoft sys to make floppies or disks bootable isn't illegal even though you are making copies of their boot record.”

    The difference is that Microsoft owns the copyright and therefore Microsoft's programs are allowed to include a copy of the copyrighted material. You also seem to be confusing the difference between whether an application (and it's author) is in violation of copyright versus whether a user is in violation of copyright. In the case of the programs you mention, the application is not in violation of copyright because the copyrighted work is owned by the same company, and the user is not in violation of copyright because Microsoft has implicitly (if not explicitly) granted the user permission to make the copy through the use of that program (the fact that they've granted the right to make a copy through that program does not also imply that they've granted the right to make a copy through an unlicensed third party program). Ms-sys, on the other hand, does not own the copyright to the “data” in question, and therefore is in violation of copyright law if it includes a copy of that “data” ... ms-sys in in violation for that reason, not for the fact that it allows the action of copying the data, but for the fact that it includes that data. Whether the user of ms-sys would be in violation of copyright if they supplied the copy of the “data” is an open question (it depends on the wording of the end user agreement, most likely), but isn't relevant (legally) to ms-sys or you.

    “A boot record in itself isn't usable.”

    Whether it is usable isn't relevant to whether copyright law applies. Technically, my post is copyrighted. Every post and e-mail and post-it note by every person is automatically recognized as a copyrighted work. That doesn't mean any of those things are necessarily useful.

    “If Microsoft claimed copyright of the boot sector, what would that claim look like?”

    Microsoft does not have to “claim” copyright. Copyright is automatic.

    “If you were not allowed to write any other kind of boot record programs like lilo wouldn't be allowed.”

    Writing boot record generating programs is allowed. Writing boot records is allowed. What is not allowed (as applicable to this instance) is providing a copy of copyrighted boot records.

    “If you were not allowed modify a Microsoft boot record we could wish that Microsoft would use that copyright to sue boot sector virus makers.”

    Microsoft can in fact sue boot sector virus makers, if they are able. Virus makers would generally be in violation of other laws as well.

    “Suppose there is a copyrighted book teaching the BASIC programming language. This book describes how to write a program that prints 'Hello world' to the screen ... Would the fact that they write the same data prevent the C program from being released with GPL?”

    The short answer to your query is no. The output, “Hello, world” is not copyrightable ... HOWEVER, if the output of the original program was the text of the Harry Potter series, it would be a violation of copyright law to write a program which output the same without permission from JK Rowling. “Hello, world” is not copyrightable because it is clearly considered to be trivial (an exception to copyright); the text of the Harry Potter series is copyrightable because it is clearly considered not to be trivial; the material you have a copy of in your application isn't as long as the text of Harry Potter, but it would be hard to argue that writing the original machine code was trivial. Also, you're question (and my answer) specifically addresses the output of the program. You should know that, even if the output is not copyrightable, it's possible that the code that produced the output is. If the code is simply along the lines of print “Hello, world”, it is not copyrightable, however, if the program included some complicated roundabout way of printing that (perhaps by somehow printing each pixel manually), or if there were extensive or otherwise copyrightable comments in the code, if your application reproduced the code or comments, it could violate copyright. My point is that you should realize that copyright COULD apply to the ms-sys executable code as well as the ms-sys “data” -- we are only discussing how it applies to the “data,” as I have no reason to believe the ms-sys executable code is in violation of copyright.

    “This bug report doesn't say that we have a problem, but it says that we might have a problem.”

    Let me clarify this point for you ... you do have a legal problem in that, unless you get permission, you are in violation of copyright; you also have a legal problem because you are claiming that non-GPL code is released under the GPL. You are in violation of the law. This in itself is a problem. Whether Microsoft pursues the matter in court is a different matter and does not change the fact that you are violating the law.

    “The source describing the boot record is really written only to describe an exact copy of the boot record.”

    But that exact copy is in violation of copyright law. It's the same as if your program produced an exact copy of the Harry Potter series.

    “This source is not compiled into anything that is executed by the program”

    With respect to copyright, it does not matter whether it is executed ever. With respect to the GPL, it doesn't matter whether the source is executed by the program, only that the (non-GPL) source is included in the program you claim is GPL.

    “for this program to be useful it is supposed to write exactly the same data that is written by the original Microsoft programs.”

    Whether the functionality is useful does not justify disregarding the law.

    “Ms-sys does not include any source code written by Microsoft.”

    It produces Microsoft copyrighted material. It is as if you translated Harry Potter into German, included a copy of the German text as “data” within your program, and then your program automatically translates it back to English and outputs it. Either way, reproduction of both the German and the English version would be in violation of copyright.

    If you would like some basic information regarding copyright law, here's a good place to start:
    http://en.wikipedia.org/wiki/Copyright_law
    http://en.wikipedia.org/wiki/Limitations_and_exceptions_to_copyright

     
    • Henrik Carlqvist

      Even though I don't like spending time discussing this, I do appreciate that you are taking your time trying to explain this. You are probably more familiar with US copyright laws than I am, but you still have not convinced me that ms-sys is a copyright violation.

      The debian bug report you are referring to has this text: "the length and expressive content of the MBR makes it rather likely that it is copyrightable".

      So you seem sure that ms-sys is "clearly violating" while ms-sys was removed from debian because it was "rather likely".

      I agree that it would be a copyright violation to write a program capable of reproducing an entire Harry Potter book, but at least swedish copyright laws allows anyone to quote a few sentences from a Harry Potter book without committing any copyright violation. This kind of quoting does not require any permission from the copyright holder.

      However, if I understand you right, US Copyright laws would not allow copying of a single bit without permission?

      IMHO this is what it all boils down to, how much data are you able to copy before it becomes a copyright violation?

      If my program has a commercial license or an opensource license like the current GPL license or a BSD license does not matter for the copyright issue.

      Nor does it matter if my program has the data compiled into the binary or if the program is distributed together with a separate file containing the data.

      Nor does it matter if my program uses the copyrighted data to write copies or if the copyrighted data is used only to compare and identify boot sectors.

      The debian people might feel good that they have evaded a "rather likely" copyright violation, but are they really safe if you are right in your assumptions?

      A quick test on my Slackware system:
      $ ms-sys -m -f /tmp/dummy.img
      $ ms-sys /tmp/dummy.img
      /tmp/dummy.img has an x86 boot sector,
      it is a Microsoft 2000/XP/2003 master boot record, like the one this
      program creates with the switch -m on a hard disk device.

      So ms-sys might have a part of copyrighted data belonging to Microsoft. But wait, there is more:
      $ file /tmp/dummy.img
      /tmp/dummy.img: x86 boot sector, Microsoft Windows XP MBR, code offset 0xc0

      Obviosly also the BSD licensed program file has a part of this copyrighted data as it is capable to identify the Microsoft boot record.

      I am not really familiar with debian, but does this mean that the file functionality in debian should lack the possibility to identify boot sectors of non free operating systems? When I did test to run this file command on knoppix which is based on debian it was able to identify the Microsoft boot record.

      regards Henrik

       
  • Anonymous

    Anonymous - 2013-05-14

    Please note that any statements I make below still reference United States copyright law, as I do not know in what ways Swedish copyright law might be different ...

    “you seem sure that ms-sys is 'clearly violating' while ms-sys was removed from debian because it was 'rather likely'.”

    In my opinion, it is very clear after examining the assembly code (http://thestarman.narod.ru/asm/mbr/Win2kmbr.htm) that the material is not trivial, and since no other copyright exception is put forward as a defense, that leads me to conclude that there is a clear violation of copyright. The “rather likely” wording is rather tempered, and was presumably used for the fact that there is no metric outlined in copyright law which can be used to determine definitively whether a given piece of work is considered “trivial” -- whether it is “trivial” is determined on a case-by-case basis by common sense, and ultimately, a judge. It is important to keep in mind that it is your responsibility to prove that your use of the work fits an exception to copyright law, not Microsoft's to prove that their material is protected by copyright. The question you have to ask yourself is, are you confident that any reasonable judge would likely find that the assembly code referenced above is “trivial”? Finally, to put the “rather likely” wording into context, let's say that you feel it is “only” “rather likely” that you are violating Microsoft's copyright ... would you risk going to court if you felt it was “rather likely” you are breaking the law? Do you see now how “rather likely” is actually pretty strong language in this context?

    “swedish copyright laws allows anyone to quote a few sentences from a Harry Potter book without committing any copyright violation ... if I understand you right, US Copyright laws would not allow copying of a single bit without permission?”

    United States copyright laws allow small portions of copyrighted work to be used without permission, basically if those portions are not considered substantial. Let's say that I take 10 lines out of Harry Potter ... this would likely not be considered substantial. On the other hand, let's say I take 10 lines out of a 10-line poem ... this would be considered substantial. Or, let's say I take a 10-line poem out of a book of poems ... this would again be considered substantial, because not only is the substantiality of the poem in relation to the entire book considered, but also the substantiality of the poem in and of itself.

    “IMHO this is what it all boils down to, how much data are you able to copy before it becomes a copyright violation?”

    It is not a specific absolute amount ... it is an amount relative to a whole, and relative to distinct pieces of a whole. The amount that can be copied basically depends upon not being considered substantial in relation to the whole. Your copying is substantial in relation to the whole, because you have copied the entirety of the work.

    “If my program has a commercial license or an opensource license like the current GPL license or a BSD license does not matter for the copyright issue.”

    I agree that, if an application is violating copyright, the license of that application has no material effect with respect to the copyright violation. However, the author could be violating the terms of the license in addition to violating copyright.

    “Nor does it matter if my program has the data compiled into the binary or if the program is distributed together with a separate file containing the data.”

    A copyright violation will be a copyright violation regardless of how you distribute it. A license violation on the other hand could be remedied by distributing the files separately ... if the Microsoft boot records were removed from the GPL-licensed ms-sys and instead distributed separately (under a different license, or no license at all), there would be no GPL violation.

    “Nor does it matter if my program uses the copyrighted data to write copies or if the copyrighted data is used only to compare and identify boot sectors.”

    Writing included copies of copyrighted data, as I have said, in my opinion, is clearly a violation of copyright. Including copies of copyrighted data to “compare and identify boot sectors” might fall under an exception such as fair use; I'm not sure. However, identifying boot sectors, at least, I believe could be done without including the entire boot record ... by including a small identifying piece, for example, or by including a hash of the boot record rather than the boot record itself. These methods would not violate copyright. The same could be done if the comparison is only meant to determine whether they are a match, rather than to show differences between them.

    “on my Slackware system: /tmp/dummy.img has an x86 boot sector, it is a Microsoft 2000/XP/2003 master boot record”

    I do not know what standards, if any, are outlined by the Slackware project, or whether they have a legal department, etc. It is also possible that the project is currently unaware of the matter.

    “Obviosly also the BSD licensed program file has a part of this copyrighted data as it is capable to identify the Microsoft boot record.”

    I cannot confirm whether the program you reference includes a copy of copyrighted data, but, as I have noted, I believe a Microsoft boot record could be identified without violating copyright, such as by using a hash of it, or by including a small identifying portion of the full boot record.

    “does this mean that the file functionality in debian should lack the possibility to identify boot sectors of non free operating systems?”

    I don't believe so, as I believe there are ways to identify those boot records which do not violate copyright, as I have noted.

    “When I did test to run this file command on knoppix which is based on debian it was able to identify the Microsoft boot record.”

    Again, identifying the boot record could be done without violating copyright, and, even if it isn't in this case, I cannot comment on what standards, if any, are outlined by the KNOPPIX project, or whether they have a legal department, whether they are aware of the matter, etc. The fact that the distribution is based upon Debian does not mean that it follows the same standards or that it includes only Debian-approved software. Ubuntu is also based upon Debian, but I am aware that Ubuntu does not conform to Debian standards, and includes software not approved by Debian. It would be more interesting if you could demonstrate that Debian itself includes the entirety of a Microsoft boot record. If they do, and if that fact was brought to their attention, they would have to remove the material or re-evaluate their position with regards to ms-sys.

    It may be worthwhile for you to seek out the opinions of experts, or at least other people with a basic understanding of copyright law, if you are unconvinced by the opinions already put forward to you with regard to whether you are in violation of copyright law. I have included, below, some links to copyright forums where you might choose to pose the question (I would reference all versions of the material, from the “data” version included in your code to the machine code, and, probably most importantly, the assembly code; I would describe the situation as completely and objectively as possible, and describe why you feel your use may fall under an exception to copyright (as best I can tell, your argument would be that the material in question is “trivial”)). I have also included a link which includes contact information for the Swedish Ministry of Justice (though I doubt they would be willing to comment specifically on whether your use violates copyright law).

    http://www.intelproplaw.com/ip_forum/index.php/board,8.0.html

    http://forum.freeadvice.com/copyrights-trademarks-39/

    http://www.worldlawdirect.com/forum/copyright-trademark-patent/

    http://www.government.se/sb/d/2707/a/15195

    Again, let me emphasize that it is not my intention to continue discussing this if you have already determined to dismiss my arguments. I will only reply again if you pose additional questions or otherwise appear to be interested in continuing the discussion. If you are not interested in continuing the discussion, you can make that fact clear by closing this support request.

     
    • Henrik Carlqvist

      let's say that you feel it is “only” “rather likely” that you are violating Microsoft's copyright ... would you risk going to court if you felt it was “rather likely” you are breaking the law?

      No, of course not. But the reason that I pointed to the debian thread where someone said "rather likely" is not that I believe it is rather likely. I only wanted to point out that different people think different about this likelyhood. You think "clearly", Don Armstrong thinks "rather likely" and I think "very unlikely".

      A license violation on the other hand could be remedied by distributing the files separately ... if the Microsoft boot records were removed from the GPL-licensed ms-sys and instead distributed separately (under a different license, or no license at all), there would be no GPL violation.

      Now, this is another concern. What part of the GPL license might it be that I break by including data which consists of object code from source nat having a GPL compatible license? Could also printing trademarked words like "Microsoft" to stdout break the GPL license compliance?

      I do not know what standards, if any, are outlined by the Slackware project, or whether they have a legal department, etc.

      Maybe I should have pointed out that ms-sys is not included in Slackware, it was installed by me on my Slackware system. Most Linux distributions which include ms-sys are different kind of live-CDs used for data rescue purposes.

      I cannot confirm whether the program you reference includes a copy of copyrighted data, but, as I have noted, I believe a Microsoft boot record could be identified without violating copyright, such as by using a hash of it, or by including a small identifying portion of the full boot record.

      The data used to identify boot records are placed (at least on my Slackware system) in /etc/file/magic/filesystems. That file is a human readable text file. The data is not hashed, it is copied snippets from different boot records presented as octal and hexadecimal numbers and text. The data is a smaller subset of the boot records that the data included in ms-sys.

      It would be more interesting if you could demonstrate that Debian itself includes the entirety of a Microsoft boot record.

      I don't want to spend all the time to install debian only for such a test. However, I can say for sure that the debian file command does not include the entire boot records. At least on my Slackware system the file command includes a smaller subset of the boot records than ms-sys does. Nor does the ms-sys source include entire boot records. Some parts (like disk geometry) is calculated when ms-sys is run. Other parts (like the number of heads) might be given by the user when ms-sys is done. Other parts (like the partition table) are left unchanged.

      As I honestly not believe that the snippets of the boot records shipped with the file command is violating any copyright I do not intend to alert the debian people about this.

      (as best I can tell, your argument would be that the material in question is “trivial”)

      I don't think that I have used the term "trivial" myself to describe the boot record snippets, maybe I have been misquoted by Chih-Chung Chang at http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=425943

      Instead of "trivial" I would rather use the word "useless" about the data from the boot records. Even though the data consists of executable object code that executable is useless unless there is anything to boot. After the MBR and the file system boot record something needs to be booted. This might be something like command.com which by its size by far exceeds the size of the boot records from which I have taken some snippets.

      I am not a lawyer, but my main reason to believe that it is OK to copy these boot records is that it has already been done by other programs.
      Not only Microsoft programs like fdisk and sys but also most third party antivirus programs.

      (though I doubt they would be willing to comment specifically on whether your use violates copyright law).

      Yes, especially if I ask them about US laws. In fact not even Microsoft answered my question some years ago when I asked them if it was OK to copy the snippets from their boot records.

      Different forums might be a good place to ask, but I fear that the answers still mostly will be different oppinions and believs.

      If you are not interested in continuing the discussion, you can make that fact clear by closing this support request.

      I appreciate your concern and even though it takes more of my time than I would like this request is open only for this discussion. The unfork request in the title is something that I will not spend any time on. If I would be proven wrong about the copyright issue I would instead do my best to remove all files from the download section and officially declare ms-sys as abandoned and redirect users to ms-sys-free.

      It was many years since I had the need of the functionality in ms-sys myself. Since then I have only applied contributed patches for new releases.

      regards Henrik

       
  • pika1021

    pika1021 - 2017-12-29

    It would be great to separate the materials and made the non-free part as an optional addon(in a separated source tree so that the main source code is fully legally redistributable), this helps downstream packagers to package the free parts without dealing the copyright issue. Users who has been licensed to use the non-free code (id. est. Windows licensee) can choose to download the non-free parts and made it available to ms-sys using a separate installer.

    The non-free boot record can't be packaged in the non-free section of the Debian archive due to the missing redistributable permission from Microsoft.

     
  • Henrik Carlqvist

    Please feel free to use ms-sys-free (from https://sourceforge.net/projects/ms-sys-free/ ) which does not contain any non-free part. Please also feel free to add functionality like an optional non-free addon to ms-sys-free. If you so wish, please also feel free to reuse any code from ms-sys when writing that addon as long as your addon complies with the GPL license. Or, if you are lazy like me, just let everyone choose between ms-sys-free or the complete ms-sys which can replace ms-sys-free. You can probably distribute the complete ms-sys using the same channels as you would distribute the non-free addon.

     

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.