boot loader license
Brought to you by:
henca
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?
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.
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.
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.
Logged In: YES
user_id=20705
See <http://www.microsoft.com/permission/request/default.asp>.
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.
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?
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.
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.