Menu

#1 boot loader license

v1.0 (example)
closed
nobody
None
5
2003-08-30
2003-02-26
No

ms-sys-1.0.1/inc/br_fat12_0x3e.h and other such files contain x86 machine code that the ms-sys program will install in the boot record. The code looks rather similar to what Microsoft supplies with its operating systems.
Are these files copyrighted by Microsoft?
Are they licensed under the GNU GPL, like the rest of the ms-sys package?

Discussion

  • Henrik Carlqvist

    Logged In: YES
    user_id=7680

    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.

    br_fat12_0x3e.h and the rest of the files are all licensed
    under GNU GPL. The files were written by me after reading
    specifications describing boot records which I found on the
    web. You will find links to those pages from the ms-sys home
    page.

    As all files are written by me none of them are copyrighted
    by Microsoft. The program ms-sys does not harm Microsoft in
    any way. Even though it is able to perform some tasks that
    Microsoft also has programs for ms-sys is only useful if you
    also have a Microsoft OS.

     
  • Henrik Carlqvist

    • status: open --> closed
     
  • Kalle Olavi Niemitalo

    Logged In: YES
    user_id=20705

    The numbers in br_fat12_0x3e.h are bit-for-bit identical to
    the boot sector of Windows 98 SE. So either you have copied
    them from Windows (possibly via intermediaries), or you have
    independently chosen the exact same machine instructions --
    a possibility that I find extremely remote.

    If you had indeed written the code from functional
    specifications, you would presumably have used an assembler,
    and the assembly source would then have been the "source
    code" as defined in section 3 of the GNU General Public
    License. However, you are only distributing a list of numbers.

    Algorithmically translating the Microsoft code into a C
    array does not invalidate the copyright, any more than
    wrapping it inside a ZIP file would.

    I took a look at "An Examination of the MSWIN4.1 OS Boot
    Record"
    <http://www.geocities.com/thestarman3/asm/mbr/MSWIN41.htm>
    to which you refer but I couldn't find any discussion of
    copyrights in it. Even if Microsoft allows distributing the
    binary (and I haven't seen any statement about that), that
    doesn't mean they allow modified versions as well. You
    cannot honestly distribute your package under the GPL if
    people don't have the right to modify it.

    Please, ask Microsoft how they license this code, and then
    add the information to your package.

     
  • Kalle Olavi Niemitalo

    • status: closed --> open
     
  • Henrik Carlqvist

    Logged In: YES
    user_id=7680

    > The numbers in br_fat12_0x3e.h are bit-for-bit identical to
    > the boot sector of Windows 98 SE.

    They are supposed to be that, otherwise I would consider it
    a bug.

    > So either you have copied them from Windows (possibly via
    intermediaries)

    I have copied them from specifications.

    > If you had indeed written the code from functional
    > specifications, you would presumably have used an assembler,

    As the specifications listed the numbers in hex it was
    really easier to write
    the code the way I did it. The program ms-sys does a simple
    thing. It only
    copies some data to a file (which might be some kind of disk
    device) and it
    skips some data which isn't supposed to be overwritten. You
    could also
    accomplish this with a program like dd and the boot sector
    in a separate file,
    but ms-sys is handy as you don't need to know which parts to
    skip and the boot
    sectors all come in the executable.

    > Algorithmically translating the Microsoft code into a C
    > array does not invalidate the copyright, any more than
    > wrapping it inside a ZIP file would.

    I can understand your concern about this, but now I must ask
    "what 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.

    A boot record in itself isn't usable. You will also need an
    operating system
    to boot and these boot records are made to boot Microsoft
    operating systems.
    For those operating systems you will need a license.

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

    "Noone might write the first 512 bytes like we do"?

    "Noone might write the first byte (0xeb) like we do"?

    "Noone might write the first bit (1) like we do"?

    > Even if Microsoft allows distributing the binary (and I
    haven't seen
    > any statement about that), that doesn't mean they allow
    modified versions
    > as well. You cannot honestly distribute your package
    under the GPL if
    > people don't have the right to modify it.

    This is an interesting concern. However, I don't think it
    really is a problem.
    Like the questions above, what would their claim be? If you
    were not allowed
    to write any other kind of boot record programs like lilo
    wouldn't be allowed.
    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.

    > Please, ask Microsoft how they license this code, and then
    > add the information to your package.

    This would need two things:

    1) A contact at Microsoft.

    2) Someone capable of formulating a license.

    I'm not a laywer or able to formulate a license, nor do I
    have any contacts at
    Microsoft. However, I would appreciate any help with this
    task as it would sort
    things out once and for all.

     
  • Kalle Olavi Niemitalo

    Logged In: YES
    user_id=20705

    See <http://www.microsoft.com/permission/request/default.asp>.

     
  • Henrik Carlqvist

    Logged In: YES
    user_id=7680

    > See <http://www.microsoft.com/permission/request/default.asp>.

    Thanks!

    I now have a reference number S1R7678 for my permission
    request. However, when I get an answer I might still need
    some help to formulate a license text.

     
  • Nobody/Anonymous

    Logged In: NO

    So I filled the microsoft form and got a reference number.
    The web page said I could expect an answer after 10-15 days.
    As I didn't get any answer 20/6 I wrote an email to
    ehqperm@microsoft.com which were listed at the page you
    pointed me to. Still I haven't heard anything at all from
    Microsoft.

    I do realize that answering this kind of request would mean
    some work and maybe they would even have to ask a lawyer to
    analyze the consequences. I also realize that Microsoft has
    nothing to win on doing this work and I suppose that is the
    reason I haven't had any reply. However I wish that they at
    least could have sent an answer to my email telling me that
    I shouldn't expect to get any answer for my request.

    At this point I have given up any hope to receive any
    answer, positive or negative, at all from Microsoft.

    What would you advice me to do? Is there anything doubtful
    in the current ms-sys package? Should I change the license?
    Should I try to break out the boot sectors from the source
    package in some way?

     
  • Henrik Carlqvist

    Logged In: YES
    user_id=7680

    Sorry, I forgot to login to SourceForge before writing the
    previous message about no reply from Microsoft. However, it
    was I who wrote it.

     
  • Henrik Carlqvist

    • status: open --> closed
     
  • Henrik Carlqvist

    Logged In: YES
    user_id=7680

    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. Now suppose that someone decides to write a C
    program that writes
    "Hello world" to the screen. The BASIC program in the book
    is copyrighted and
    that source could not be released with GPL. The author of
    the C program might
    have read the book or someone who has read the book might
    have told him about
    this great program. The C program is a clone of the BASIC
    program. Would the
    fact that they write the same data prevent the C program
    from being released
    with GPL? If so, would it be ok if the C program was changed
    to write
    "Goodbye world"?

    Even though this is a support request I consider it as a bug
    report on ms-sys
    license. This bug report doesn't say that we have a problem,
    but it says that
    we might have a problem.

    However, I don't think there is a problem. The source
    describing the boot
    record is really written only to describe an exact copy of
    the boot record.
    This source is not compiled into anything that is executed
    by the program, it
    is only treated as data which is written. Any data could be
    written if the
    code is changed, it would be possible to write "Hello world"
    to the boot
    record. However, for this program to be useful it is
    supposed to write exactly
    the same data that is written by the original Microsoft
    programs.

    Even though this data might be copyrighted by Microsoft they
    also have their
    own fdisk and sys programs writing the data so there is
    nothing wrong in
    having a program making copies of this data.

    Since 23/2 2003 when version 1.0.2 of ms-sys was released I
    have gotten
    contributions from two different users to write other boot
    records. When I get
    time I would like to make a new release containing these
    contributions.
    However, I don't like to release a program with a known bug
    and since I
    consider this license issue to be kind of a bug report I
    would like to see it
    closed.

    With the thoughts above I'm now closing this support
    request. The request is
    more than half a year old and it should really have been
    closed a long time
    ago. The only reason to open this request again is if
    someone finds that we
    really do have a problem. However, I would prefer if someone
    came up with a
    support request or bug report that contained a patch with a
    solution to any
    problem found.

     

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.