Bug#383481: Must source code be easy to understand to fall under DFSG?

2006-10-30 Thread Ola Lundqvist
Hi

First I want to tell to you Kyle and Matthew, that this is not a personal
thing against you, and that I have noted the question mark in the end of the
subject ("Contains obfuscated source code, DFSG violation?"). I actually want
to thank you for making me think on what my opinion about open source is.

(I have decided to Cc debian-legal, but I'm not subscribed to that list
so please CC me if you want me to read it).

Now to the reason why I wrote this mail.
I have a question about the bugreport (#383481) because I do not
understand what the problem is. The source code is there, you can
modify it and release it under the same license. Perfectly legal under GPL.

Let me take two examples:
* Person A create a driver by reverse engineering, determine
  that by setting a number of memory parts to different values,
  the hardware will work as expected. Person A do not know why.
* Person B create a driver knowing, that by setting a number of
  memory parts to different values, the hardware will work as
  expected. Person B knows why.

Both persons have released their code under the same license
and they look (almost at least) the same.

Which one will break DFSG?
 - Person A?
 - Person B?
 - None?
 - Both?

I'll take each item in DFSG and determine it from that points:
-
#1 Free Redistribution
No restriction here.

#2 Source Code
Source code is available. Not perfectly readable, but this is the
source that was released, and licensed away, so yes we have the source.

#3 Derived Works
No restriction.

#4 Integrity of The Author's Source Code
No restriction, you can change as much as you want.

#5 and 6 No Discrimination ...
No discrimination on specific groups in the licsense.

#7 Distribution of License
No problem here.

#8 License Must Not Be Specific to Debian
No problem here.

#9 License Must Not Contaminate Other Software
No restriction here.

#10 Example Licenses
Just examples, and according to the DFSG, GPL is a fully ok license. 
-

The only thing is #2 above. The question is if someone must release
all it knows when it release open source software (according to DFSG)
or if you can release only enough to make something work. I can also
put it as if you want to make good software, when you release something
as open source?

What I want to tell with this message is that we should stick to
what the license tell. The important thing is that we do not
build something binary that do not contain the code that can
produce that binary.

If we consider this as a violation of the DFSG (because of #2 above),
then where do we draw the line between closed and open source?
Must software be easy to understand, or should we consider all software
that have hardcoded values as closed source?

Will all reverse engineered drivers with hardcoded values be considered
as closed source? Must you always release everything that you know
when you release somehting as open source?
Must we release the instructions on how to paint an image, how to
move the arm while painting if we release an image as open source?

I think this is worth considering. Personally I think this bug can
be closed.

Regards,

// Ola

-- 
 - Ola Lundqvist ---
/  [EMAIL PROTECTED] Annebergsslingan 37  \
|  [EMAIL PROTECTED] 654 65 KARLSTAD  |
|  +46 (0)54-10 14 30  +46 (0)70-332 1551   |
|  http://www.opal.dhs.org UIN/icq: 4912500 |
\  gpg/f.p.: 7090 A92B 18FE 7994 0C36  4FE4 18A1 B1CF 0FE5 3DD9 /
 ---


signature.asc
Description: Digital signature


Bug#383481: Must source code be easy to understand to fall under DFSG?

2006-10-31 Thread Goswin von Brederlow
Ola Lundqvist <[EMAIL PROTECTED]> writes:

> Ok, you are probably right if the person use an automated tool to make
> this obfuscation. (Not sure though, see below).
>
> However as it is impossible to know if someone use a obfuscation program
> or if the person use a text editor to edit this, I can not see it as
> a violation anyway.
>
> At least it is a bit harsh to see it as a policy violation just because
> it may be obfuscated.

If you have 'char data[] = { 0xef, 0x45, ... };' and from running a
disassembler it is clear that this was produced with gcc for arm (yes,
that is not too wilde an idea) or some other compiler I think then it
is at least suspect.

Personaly I rather have such a char array under GPL than no driver or
a binary only driver. At least you can perfectly legaly dissasemble
the data and, comment the code and make it readable again.


Ultimately I think the decision is with ftp-master and then you have
to fight hard to reverse that. They usualy make good calls there.

MfG
Goswin


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Bug#383481: Must source code be easy to understand to fall under DFSG?

2006-10-31 Thread Sven Luther
On Mon, Oct 30, 2006 at 04:52:13PM +0100, Ola Lundqvist wrote:
> The only thing is #2 above. The question is if someone must release
> all it knows when it release open source software (according to DFSG)
> or if you can release only enough to make something work. I can also
> put it as if you want to make good software, when you release something
> as open source?
> 
> What I want to tell with this message is that we should stick to
> what the license tell. The important thing is that we do not
> build something binary that do not contain the code that can
> produce that binary.
> 
> If we consider this as a violation of the DFSG (because of #2 above),
> then where do we draw the line between closed and open source?

Notice that in the GPL case, the definition of free software (to use the
FSF/GNU terminology, which is more fiting here) is pretty clear about the
what is source, namely "the prefered form of modification".

> Must software be easy to understand, or should we consider all software
> that have hardcoded values as closed source?
> 
> Will all reverse engineered drivers with hardcoded values be considered
> as closed source? Must you always release everything that you know
> when you release somehting as open source?
> Must we release the instructions on how to paint an image, how to
> move the arm while painting if we release an image as open source?
> 
> I think this is worth considering. Personally I think this bug can
> be closed.

But your thinking are giving us an excellent way out. We could simply take all
those binary blobs that are in the kernel, and try to take a guess about the
instruction set which they are designed for, and disasemble them, and provide
the dissasembled version under the GPL, as well as a instructions to
re-assemble them into the actual binary blob.

If we were to achieve that, i would be more than happy to consider these blobs
and their corresponding reverse-engineered asm codes as actual source.

One may argue that in this case, the actual documentation of the registers
may be more of a source for such binary blobs, but it would in any case be no
worse than any other reverse-engineering effort out there.

Friendly,

Sven Luther


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Bug#383481: Must source code be easy to understand to fall under DFSG?

2006-10-31 Thread Ola Lundqvist
Hi Mathew

(Anyone on debian-legal: please note and maintain the Cc:s)

On Tue, Oct 31, 2006 at 04:26:38PM +, Matthew Garrett wrote:
> On Tue, Oct 31, 2006 at 05:00:15PM +0100, Ola Lundqvist wrote:
> 
> (Anyone on debian-legal: please note and maintain the Cc:s)
> 
> > As you say you need the prefered form of _modification_, which means
> > that if we change things, we are not allowed to obfuscate it. I can not
> > see anything that enfoce the original author to actually do such
> > obfuscation.
> 
> No, the preferred form *for* modification. 

Hmm, you may be right.

> > The only requirement on the original author (as I can determine) is that
> > you get source code for it, not that it is in preferred form for making
> > modification.
> 
> That's perfectly acceptable. Upstream can do whatever they want. 
> However, if upstream do not provide the preferred form for modification 
> (ie, the unobfuscated version), Debian can not distribute it under the 
> terms of the GPL.

True. But do this mean that Nvidia have actually violated the license that
they have released their software under? Well maybe not as they may not
need to accept the license to actually use their rights...

As I understand from this, is that it is not enough to know that the software
is licensed under GPL, we must also check every single line of code (manually)
to determine if it is obfuscated or not before we include it into
Debian? Or should we just do this on a best effort basis, that is
file serious bugs when we encounter this.

> That's not an issue in this case, since X is not a GPLed application. 

The bug I'm referring to is actually on linux-2.6 and not on X. :) The
original bug was on X though.

> Debian can distribute the obfuscated code entirely legally, without 
> violating any licenses. The issue is whether "source" in the DFSG refers 
> to the GPL's definition ("the preferred form for modification") or not. 
> An alternative interpretation could be "a form amenable to modification 
> by people sufficiently familiar with the work".
> 
> If people define source as "the preferred form for modifications" in all 
> cases, then there's no place for deliberately obfuscated code in Debian.

That is what the Open Source Definition tell. The open source definition
is only applicable on programs though. But we do not enforce the usage
of the open source definition as far as I know. Or do we?

http://www.opensource.org/docs/definition.php

> There's also arguably no place for works that are only available 
> as JPEGs, any flattened image formats, mp3s, PDFs and so on. Right now 
> there doesn't seem to be a strong opinion in the project about that, but 
> I expect it's a discussion that needs to be had.

True. The positional statement that clarified was not the winner in one
of our votes:
http://www.debian.org/vote/2006/vote_004

> (For anyone doubting that the nvidia code is deliberately obfuscated - 
> http://cvsweb.xfree86.org/cvsweb/xc/programs/Xserver/hw/xfree86/vga256/drivers/nv/Attic/nv4driver.c.diff?r1=1.1.2.3&r2=1.1.2.4&hideattic=0&only_with_tag=xf-3_3_3
>  
> ought to make it pretty clear)

I may be stupid ( :) ) but I can only see that the code is not trivially
easy to read (on either sides). I do not know who did this change
and so on. I can see that the older one is slightly easier to read
on some areas, but that is all I can tell (as I'm not that familiar
with this source). :)

Best regards,

// Ola

> -- 
> Matthew Garrett | [EMAIL PROTECTED]
> 

-- 
 --- Ola Lundqvist systemkonsult --- M Sc in IT Engineering 
/  [EMAIL PROTECTED]   Annebergsslingan 37\
|  [EMAIL PROTECTED]   654 65 KARLSTAD|
|  http://opalsys.net/   Mobile: +46 (0)70-332 1551 |
\  gpg/f.p.: 7090 A92B 18FE 7994 0C36 4FE4 18A1 B1CF 0FE5 3DD9  /
 ---


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Bug#383481: Must source code be easy to understand to fall under DFSG?

2006-10-31 Thread Goswin von Brederlow
Ola Lundqvist <[EMAIL PROTECTED]> writes:

> Hi
>
> First I want to tell to you Kyle and Matthew, that this is not a personal
> thing against you, and that I have noted the question mark in the end of the
> subject ("Contains obfuscated source code, DFSG violation?"). I actually want
> to thank you for making me think on what my opinion about open source is.
>
> (I have decided to Cc debian-legal, but I'm not subscribed to that list
> so please CC me if you want me to read it).
>
> Now to the reason why I wrote this mail.
> I have a question about the bugreport (#383481) because I do not
> understand what the problem is. The source code is there, you can
> modify it and release it under the same license. Perfectly legal under GPL.
>
> Let me take two examples:
> * Person A create a driver by reverse engineering, determine
>   that by setting a number of memory parts to different values,
>   the hardware will work as expected. Person A do not know why.
> * Person B create a driver knowing, that by setting a number of
>   memory parts to different values, the hardware will work as
>   expected. Person B knows why.

* Person C creates a driver knowing with properly names defines and
comments explaining why he does what and where to easily readable
structures of the register mappings of the hardware. Person C then
goes and obfuscates the code into putting seemingly random values into
seemingly random addresses. Person C still uses his unobfuscated code
to makes changes but only releases the obfuscated version under GPL.

> Both persons have released their code under the same license
> and they look (almost at least) the same.
>
> Which one will break DFSG?
>  - Person A?
>  - Person B?
>  - None?
>  - Both?

Only C. But deciding if B or C applies it quite impossible.

> I'll take each item in DFSG and determine it from that points:
> -
> #1 Free Redistribution
> No restriction here.
>
> #2 Source Code
> Source code is available. Not perfectly readable, but this is the
> source that was released, and licensed away, so yes we have the source.

Under GPL (as in my example Person C) you need the prefered form of
modification, which is more than what the DFSG strictly called
for. But most people might take it as the same (meaning ofuscating is
so evil it breaks this rule).

> #3 Derived Works
> No restriction.
>
> #4 Integrity of The Author's Source Code
> No restriction, you can change as much as you want.
>
> #5 and 6 No Discrimination ...
> No discrimination on specific groups in the licsense.
>
> #7 Distribution of License
> No problem here.
>
> #8 License Must Not Be Specific to Debian
> No problem here.
>
> #9 License Must Not Contaminate Other Software
> No restriction here.
>
> #10 Example Licenses
> Just examples, and according to the DFSG, GPL is a fully ok license. 
> -

MfG
Goswin


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Bug#383481: Must source code be easy to understand to fall under DFSG?

2006-10-31 Thread Ola Lundqvist
Hi Goswin

Thanks for your response, and interesting new view (option C)
on this matter.

On Tue, Oct 31, 2006 at 02:20:44PM +0100, Goswin von Brederlow wrote:
> Ola Lundqvist <[EMAIL PROTECTED]> writes:
...CUT...
> > Let me take two examples:
> > * Person A create a driver by reverse engineering, determine
> >   that by setting a number of memory parts to different values,
> >   the hardware will work as expected. Person A do not know why.
> > * Person B create a driver knowing, that by setting a number of
> >   memory parts to different values, the hardware will work as
> >   expected. Person B knows why.
> 
> * Person C creates a driver knowing with properly names defines and
> comments explaining why he does what and where to easily readable
> structures of the register mappings of the hardware. Person C then
> goes and obfuscates the code into putting seemingly random values into
> seemingly random addresses. Person C still uses his unobfuscated code
> to makes changes but only releases the obfuscated version under GPL.

Yes it is slightly different.

> > Both persons have released their code under the same license
> > and they look (almost at least) the same.
> >
> > Which one will break DFSG?
> >  - Person A?
> >  - Person B?
> >  - None?
> >  - Both?
> 
> Only C. But deciding if B or C applies it quite impossible.

Ok, you are probably right if the person use an automated tool to make
this obfuscation. (Not sure though, see below).

However as it is impossible to know if someone use a obfuscation program
or if the person use a text editor to edit this, I can not see it as
a violation anyway.

At least it is a bit harsh to see it as a policy violation just because
it may be obfuscated.

...CUT...

> > #2 Source Code
> > Source code is available. Not perfectly readable, but this is the
> > source that was released, and licensed away, so yes we have the source.
> 
> Under GPL (as in my example Person C) you need the prefered form of
> modification, which is more than what the DFSG strictly called
> for. But most people might take it as the same (meaning ofuscating is
> so evil it breaks this rule).

The only thing I can find in GPL about this is:
"The source code for a work means the preferred form of the work for making
modifications to it. For an executable work, complete source code means all
the source code for all modules it contains, plus any associated interface
definition files, plus the scripts used to control compilation and
installation of the executable."

But this is only applicable for the ones that distribute and
modify the code as it is listed under chapter 3.

As you say you need the prefered form of _modification_, which means
that if we change things, we are not allowed to obfuscate it. I can not
see anything that enfoce the original author to actually do such
obfuscation.

You can not ship something without source at all as the following
phrase exist in the GPL:

"Our General Public Licenses are designed to make sure that you have
the freedom to distribute copies of free software (and charge for this
service if you wish), that you receive source code or can get it if
you want it, that you can change the software or use pieces of it in
new free programs; and that you know you can do these things."

The only requirement on the original author (as I can determine) is that
you get source code for it, not that it is in preferred form for making
modification.

Or do I misinterpret the GPL?

...CUT...

Regards,

// Ola

-- 
 --- Ola Lundqvist systemkonsult --- M Sc in IT Engineering 
/  [EMAIL PROTECTED]   Annebergsslingan 37\
|  [EMAIL PROTECTED]   654 65 KARLSTAD|
|  http://opalsys.net/   Mobile: +46 (0)70-332 1551 |
\  gpg/f.p.: 7090 A92B 18FE 7994 0C36 4FE4 18A1 B1CF 0FE5 3DD9  /
 ---


signature.asc
Description: Digital signature


Bug#383481: Must source code be easy to understand to fall under DFSG?

2006-10-31 Thread Matthew Garrett
On Tue, Oct 31, 2006 at 05:00:15PM +0100, Ola Lundqvist wrote:

(Anyone on debian-legal: please note and maintain the Cc:s)

> As you say you need the prefered form of _modification_, which means
> that if we change things, we are not allowed to obfuscate it. I can not
> see anything that enfoce the original author to actually do such
> obfuscation.

No, the preferred form *for* modification. 

> The only requirement on the original author (as I can determine) is that
> you get source code for it, not that it is in preferred form for making
> modification.

That's perfectly acceptable. Upstream can do whatever they want. 
However, if upstream do not provide the preferred form for modification 
(ie, the unobfuscated version), Debian can not distribute it under the 
terms of the GPL.

That's not an issue in this case, since X is not a GPLed application. 
Debian can distribute the obfuscated code entirely legally, without 
violating any licenses. The issue is whether "source" in the DFSG refers 
to the GPL's definition ("the preferred form for modification") or not. 
An alternative interpretation could be "a form amenable to modification 
by people sufficiently familiar with the work".

If people define source as "the preferred form for modifications" in all 
cases, then there's no place for deliberately obfuscated code in Debian. 
There's also arguably no place for works that are only available 
as JPEGs, any flattened image formats, mp3s, PDFs and so on. Right now 
there doesn't seem to be a strong opinion in the project about that, but 
I expect it's a discussion that needs to be had.

(For anyone doubting that the nvidia code is deliberately obfuscated - 
http://cvsweb.xfree86.org/cvsweb/xc/programs/Xserver/hw/xfree86/vga256/drivers/nv/Attic/nv4driver.c.diff?r1=1.1.2.3&r2=1.1.2.4&hideattic=0&only_with_tag=xf-3_3_3
 
ought to make it pretty clear)
-- 
Matthew Garrett | [EMAIL PROTECTED]


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Bug#383481: Must source code be easy to understand to fall under DFSG?

2006-10-31 Thread Ola Lundqvist
Hi Sven

On Tue, Oct 31, 2006 at 07:32:02PM +0100, Sven Luther wrote:
...CUT...
> > Will all reverse engineered drivers with hardcoded values be considered
> > as closed source? Must you always release everything that you know
> > when you release somehting as open source?
> > Must we release the instructions on how to paint an image, how to
> > move the arm while painting if we release an image as open source?
> > 
> > I think this is worth considering. Personally I think this bug can
> > be closed.
> 
> But your thinking are giving us an excellent way out. We could simply take all
> those binary blobs that are in the kernel, and try to take a guess about the
> instruction set which they are designed for, and disasemble them, and provide
> the dissasembled version under the GPL, as well as a instructions to
> re-assemble them into the actual binary blob.
> 
> If we were to achieve that, i would be more than happy to consider these blobs
> and their corresponding reverse-engineered asm codes as actual source.
> 
> One may argue that in this case, the actual documentation of the registers
> may be more of a source for such binary blobs, but it would in any case be no
> worse than any other reverse-engineering effort out there.

I fully agree that this kind of work would be a good thing. Such
improvements would most problably be a benifit for the open source
community and maybe would give us better functionality in the end.

The question is if it is a violation or not to release as is.

The other good (or bad?) thing is that we would need cross-compilers
for most major instruction-sets as reassembling probably mean compiling
for a different architecture.

Regards,

// Ola

> Friendly,
> 
> Sven Luther
> 

-- 
 --- Ola Lundqvist systemkonsult --- M Sc in IT Engineering 
/  [EMAIL PROTECTED]   Annebergsslingan 37\
|  [EMAIL PROTECTED]   654 65 KARLSTAD|
|  http://opalsys.net/   Mobile: +46 (0)70-332 1551 |
\  gpg/f.p.: 7090 A92B 18FE 7994 0C36 4FE4 18A1 B1CF 0FE5 3DD9  /
 ---


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Bug#383481: Must source code be easy to understand to fall under DFSG?

2006-10-31 Thread Francesco Poli
On Tue, 31 Oct 2006 16:26:38 + Matthew Garrett wrote:

> On Tue, Oct 31, 2006 at 05:00:15PM +0100, Ola Lundqvist wrote:
> 
> (Anyone on debian-legal: please note and maintain the Cc:s)

Including the From: field (that is you) and the To: field (that is Ola
Lundqvist)?  Let's assume the answer is yes...

[...]
> > The only requirement on the original author (as I can determine) is
> > that you get source code for it, not that it is in preferred form
> > for making modification.
> 
> That's perfectly acceptable. Upstream can do whatever they want. 
> However, if upstream do not provide the preferred form for
> modification  (ie, the unobfuscated version), Debian can not
> distribute it under the  terms of the GPL.

Exactly.

> 
> That's not an issue in this case, since X is not a GPLed application. 
> Debian can distribute the obfuscated code entirely legally, without 
> violating any licenses. The issue is whether "source" in the DFSG
> refers  to the GPL's definition ("the preferred form for
> modification") or not.

IMHO, DFSG#2 refers to source code, as is usually defined, that is to
say, as in the GNU GPL v2.

> An alternative interpretation could be "a form
> amenable to modification  by people sufficiently familiar with the
> work".

I think that this would be too vague a definition.
The term "amenable" could be interpreted in a too broad sense and this
would become a slippery slope: someone sufficiently familiar with a
program could succeed in modifying its binary executable using a hex
editor, but (at least in most cases) he/she would *prefer* to make
modifications to the C code (assuming that the program is actually
written in C).

> 
> If people define source as "the preferred form for modifications" in
> all  cases, then there's no place for deliberately obfuscated code in
> Debian.

Yeah, and that's a feature, not a bug!!
Deliberately obfuscated code is absolutely against the spirit of Free
Software.

> There's also arguably no place for works that are only
> available  as JPEGs, any flattened image formats, mp3s, PDFs and so
> on.

Not necessarily.  It depends on which is the "preferred form for
modifications": this can only be determined on a case-by-case basis.
For some works the "preferred form for modifications" may be in JPEG
format (think of photographs taken with a digital camera); for some
other the "preferred form" may be some other format (from which the JPEG
is generated).

Please note that the same situation holds for programmatic works: for
some programs the "preferred form for modifications" may be assembly
code (or even machine code); for some other the "preferred form" may be,
say, C code; for some other it could be a grammar definition (think
about tools that generate C code for a parser of a given grammar: bison
comes to mind).

> Right now  there doesn't seem to be a strong opinion in the
> project about that, but  I expect it's a discussion that needs to be
> had.

IMO, this discussion desperately needs to be had.  I think the right
time to have it is after etch is out.



-- 
But it is also tradition that times *must* and always
do change, my friend.   -- from _Coming to America_
. Francesco Poli .
 GnuPG key fpr == C979 F34B 27CE 5CD8 DC12  31B5 78F4 279B DD6D FCF4


pgp760nf9rvFI.pgp
Description: PGP signature


Bug#383481: Must source code be easy to understand to fall under DFSG?

2006-10-31 Thread Sven Luther
On Tue, Oct 31, 2006 at 09:06:50PM +0100, Ola Lundqvist wrote:
> Hi Sven
> 
> On Tue, Oct 31, 2006 at 07:32:02PM +0100, Sven Luther wrote:
> ...CUT...
> > > Will all reverse engineered drivers with hardcoded values be considered
> > > as closed source? Must you always release everything that you know
> > > when you release somehting as open source?
> > > Must we release the instructions on how to paint an image, how to
> > > move the arm while painting if we release an image as open source?
> > > 
> > > I think this is worth considering. Personally I think this bug can
> > > be closed.
> > 
> > But your thinking are giving us an excellent way out. We could simply take 
> > all
> > those binary blobs that are in the kernel, and try to take a guess about the
> > instruction set which they are designed for, and disasemble them, and 
> > provide
> > the dissasembled version under the GPL, as well as a instructions to
> > re-assemble them into the actual binary blob.
> > 
> > If we were to achieve that, i would be more than happy to consider these 
> > blobs
> > and their corresponding reverse-engineered asm codes as actual source.
> > 
> > One may argue that in this case, the actual documentation of the registers
> > may be more of a source for such binary blobs, but it would in any case be 
> > no
> > worse than any other reverse-engineering effort out there.
> 
> I fully agree that this kind of work would be a good thing. Such
> improvements would most problably be a benifit for the open source
> community and maybe would give us better functionality in the end.

Patches are welcome :)

> The question is if it is a violation or not to release as is.

I doubt that there is any more sense in (re-)discussing this.

> The other good (or bad?) thing is that we would need cross-compilers
> for most major instruction-sets as reassembling probably mean compiling
> for a different architecture.

Nope, because you can ship the source code and the object file if you wanted.

Already now, major parts of debian/main are not cleanly buildable out of the
box, due to cyclic bootstraping dependencies.

Friendly,

Sven Luther


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Bug#383481: Must source code be easy to understand to fall under DFSG?

2006-10-31 Thread Francesco Poli
On Tue, 31 Oct 2006 23:59:18 +0100 Sven Luther wrote:

[...]
> Nope, because you can ship the source code and the object file if you
> wanted.
> 
> Already now, major parts of debian/main are not cleanly buildable out
> of the box, due to cyclic bootstraping dependencies.

But those major parts of debian/main are cleanly buildable using an
already functioning installation of debian/main, aren't they?
At least I *hope* those major parts are buildable using only packages
from debian/main, otherwise they would Build-Depend on out-of-main
components, which is a Policy violation for a package in main, AFAIK.

If what I have just said is true and confirmed, then *that* is the
difference: one thing is having cyclic bootstrapping dependencies that
make an already compiled and installed system necessary, a completely
different beast is something that needs an out-of-main compiler in order
to be compiled...


Or am I completely off track?!?


P.S.: I begin to doubt that each recipient still needs to be Cc:ed. 
Anyone who would like to be dropped from the Cc: list, please tell me!

-- 
But it is also tradition that times *must* and always
do change, my friend.   -- from _Coming to America_
. Francesco Poli .
 GnuPG key fpr == C979 F34B 27CE 5CD8 DC12  31B5 78F4 279B DD6D FCF4


pgpAY1XcwVIyD.pgp
Description: PGP signature


Bug#383481: Must source code be easy to understand to fall under DFSG?

2006-10-31 Thread Francesco Poli
On Tue, 31 Oct 2006 20:50:19 +0100 Ola Lundqvist wrote:

> Hi Mathew
> 
> (Anyone on debian-legal: please note and maintain the Cc:s)

Again assuming that this means you and Matthew want to be Cc:ed as
well...

[...]
> > That's perfectly acceptable. Upstream can do whatever they want. 
> > However, if upstream do not provide the preferred form for
> > modification  (ie, the unobfuscated version), Debian can not
> > distribute it under the  terms of the GPL.
> 
> True. But do this mean that Nvidia have actually violated the license
> that they have released their software under? Well maybe not as they
> may not need to accept the license to actually use their rights...

A copyright holder cannot violate the license he/she releases his/her
work under: he/she needs *no* copyright license to deal with his/her own
work in any manner.
The only license violation that could possibly happen is on works
someone else holds copyright on.

Hence, nVidia could be in violation, *if* and *as long as* their work is
based on someone else's GPL'ed work.  I don't know if this is the case
here...

> 
> As I understand from this, is that it is not enough to know that the
> software is licensed under GPL, we must also check every single line
> of code (manually) to determine if it is obfuscated or not before we
> include it into Debian? Or should we just do this on a best effort
> basis, that is file serious bugs when we encounter this.

I think the Debian Project should assume that what upstream distributes
as "source code" is actually source code (that is to say, the "preferred
form for making modifications to the work"), *unless* there is a reason
to think otherwise.

Please note that IANADD: my personal opinion does not necessarily
reflect the one of the DDs.

[...]
> > If people define source as "the preferred form for modifications" in
> > all  cases, then there's no place for deliberately obfuscated code
> > in Debian.
> 
> That is what the Open Source Definition tell. The open source
> definition is only applicable on programs though. But we do not
> enforce the usage of the open source definition as far as I know. Or
> do we?
> 
> http://www.opensource.org/docs/definition.php

The OSD is completely off-topic here.
The Debian Social Contract promises that "Debian will remain 100% free"
according to the DFSG.  It never speaks about the OSD.

> 
> > There's also arguably no place for works that are only available 
> > as JPEGs, any flattened image formats, mp3s, PDFs and so on. Right
> > now  there doesn't seem to be a strong opinion in the project about
> > that, but  I expect it's a discussion that needs to be had.
> 
> True. The positional statement that clarified was not the winner in
> one of our votes:
> http://www.debian.org/vote/2006/vote_004

Please note that, according to the proposer of GR-2006-004 (hi Don!),
the text of the resolution "very carefully walks the line that the DFSG
currently walks"[1].  That is to say, this GR (which however did not
pass, as you note) only "restates what is current practice"[1], as far
as non-programmatic works and DFSG#2 are concerned.

The discussion about source code of non-programmatic works is
(unfortunately) still to be had.

[1] see the thread that started with
http://lists.debian.org/debian-vote/2006/10/msg00185.html

-- 
But it is also tradition that times *must* and always
do change, my friend.   -- from _Coming to America_
. Francesco Poli .
 GnuPG key fpr == C979 F34B 27CE 5CD8 DC12  31B5 78F4 279B DD6D FCF4



pgpHCWsq2CpeV.pgp
Description: PGP signature


Bug#383481: Must source code be easy to understand to fall under DFSG?

2006-10-31 Thread Sven Luther
On Wed, Nov 01, 2006 at 12:55:45AM +0100, Francesco Poli wrote:
> On Tue, 31 Oct 2006 23:59:18 +0100 Sven Luther wrote:
> 
> [...]
> > Nope, because you can ship the source code and the object file if you
> > wanted.
> > 
> > Already now, major parts of debian/main are not cleanly buildable out
> > of the box, due to cyclic bootstraping dependencies.
> 
> But those major parts of debian/main are cleanly buildable using an
> already functioning installation of debian/main, aren't they?

No, not always.

> At least I *hope* those major parts are buildable using only packages
> from debian/main, otherwise they would Build-Depend on out-of-main
> components, which is a Policy violation for a package in main, AFAIK.

Well, It is not so much that you have to depend on out-of-main components, but
that you have to hand-build some of them and stop in the middle and stuff like
that.

> If what I have just said is true and confirmed, then *that* is the
> difference: one thing is having cyclic bootstrapping dependencies that
> make an already compiled and installed system necessary, a completely
> different beast is something that needs an out-of-main compiler in order
> to be compiled...

Well, the cross compiler would be built from the same gcc source in main.
There is just no binary package provided for those.

> Or am I completely off track?!?

Not completely, but a bit yes.

Friendly,

Sven Luther


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Bug#383481: Must source code be easy to understand to fall under DFSG?

2006-11-01 Thread md
On Oct 31, Francesco Poli <[EMAIL PROTECTED]> wrote:

> IMHO, DFSG#2 refers to source code, as is usually defined, that is to
> say, as in the GNU GPL v2.
No, it does not. As usual, you are just inventing new requirements which
are not specified by the DFSG.

> Deliberately obfuscated code is absolutely against the spirit of Free
> Software.
But if it is X11-licensed then it is still free software, which is what
matters here.

-- 
ciao,
Marco


signature.asc
Description: Digital signature


Bug#383481: Must source code be easy to understand to fall under DFSG?

2006-11-01 Thread Raul Miller

On 10/31/06, Goswin von Brederlow <[EMAIL PROTECTED]> wrote:

* Person C creates a driver knowing with properly names defines and
comments explaining why he does what and where to easily readable
structures of the register mappings of the hardware. Person C then
goes and obfuscates the code into putting seemingly random values into
seemingly random addresses. Person C still uses his unobfuscated code
to makes changes but only releases the obfuscated version under GPL.


Note that the actions described could have a different intent
behind them:  backwards compatibility with older hardware.

More generally, backwards compatibility might look like
obfuscation, to people who are not familiar with the older
systems.  [It tends to be a case of "there's something
going on here which does not make sense."]

--
Raul


--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Bug#383481: Must source code be easy to understand to fall under DFSG?

2006-11-01 Thread Francesco Poli
On Wed, 1 Nov 2006 01:20:43 +0100 Sven Luther wrote:

> On Wed, Nov 01, 2006 at 12:55:45AM +0100, Francesco Poli wrote:
> > On Tue, 31 Oct 2006 23:59:18 +0100 Sven Luther wrote:
> > 
> > [...]
> > > Nope, because you can ship the source code and the object file if
> > > you wanted.
> > > 
> > > Already now, major parts of debian/main are not cleanly buildable
> > > out of the box, due to cyclic bootstraping dependencies.
> > 
> > But those major parts of debian/main are cleanly buildable using an
> > already functioning installation of debian/main, aren't they?
> 
> No, not always.
> 
> > At least I *hope* those major parts are buildable using only
> > packages from debian/main, otherwise they would Build-Depend on
> > out-of-main components, which is a Policy violation for a package in
> > main, AFAIK.
> 
> Well, It is not so much that you have to depend on out-of-main
> components, but that you have to hand-build some of them and stop in
> the middle and stuff like that.

Well, that's suboptimal, but not a serious Policy violation, AFAICT.

Feeewww! I can start breathing again, now...  ;-)

> 
> > If what I have just said is true and confirmed, then *that* is the
> > difference: one thing is having cyclic bootstrapping dependencies
> > that make an already compiled and installed system necessary, a
> > completely different beast is something that needs an out-of-main
> > compiler in order to be compiled...
> 
> Well, the cross compiler would be built from the same gcc source in
> main. There is just no binary package provided for those.
[...]

OK, this is not difficult to cure, then...


-- 
But it is also tradition that times *must* and always
do change, my friend.   -- from _Coming to America_
. Francesco Poli .
 GnuPG key fpr == C979 F34B 27CE 5CD8 DC12  31B5 78F4 279B DD6D FCF4


pgp6EEGGHjiYV.pgp
Description: PGP signature