www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - Tango vs Phobos

reply Graham St Jack <graham.stjack internode.on.net> writes:
Quite a while ago there was talk of rearranging Tango and Phobos so that 
they share the same runtime, allowing BOTH libraries to be available in 
the same compiler installation.

It looks to me as though D2 is stabilising, so now seems to be a good 
time to rationalise the two libraries in D2. I use D2 because I want the 
const stuff (and some other nice things too), but that locks me out of 
Tango and all the other libraries that use it, most notably GUI libraries.

Is anything happening on this front?
Aug 08 2008
next sibling parent reply "Jarrett Billingsley" <kb3ctd2 yahoo.com> writes:
"Graham St Jack" <graham.stjack internode.on.net> wrote in message 
news:g7j16v$tfs$1 digitalmars.com...
 Quite a while ago there was talk of rearranging Tango and Phobos so that
 they share the same runtime, allowing BOTH libraries to be available in
 the same compiler installation.

 It looks to me as though D2 is stabilising, so now seems to be a good
 time to rationalise the two libraries in D2. I use D2 because I want the
 const stuff (and some other nice things too), but that locks me out of
 Tango and all the other libraries that use it, most notably GUI libraries.

 Is anything happening on this front?
Well D2 forked around the same time as the D conference last year, at which that conclusion was reached, and since then W has made very little progress on merging the Phobos and Tango runtime libraries, instead focusing on new D2 features. *shrug*
Aug 08 2008
parent reply Graham St Jack <graham.stjack internode.on.net> writes:
On Sat, 09 Aug 2008 00:32:38 -0400, Jarrett Billingsley wrote:

 "Graham St Jack" <graham.stjack internode.on.net> wrote in message
 news:g7j16v$tfs$1 digitalmars.com...
 Quite a while ago there was talk of rearranging Tango and Phobos so
 that they share the same runtime, allowing BOTH libraries to be
 available in the same compiler installation.

 It looks to me as though D2 is stabilising, so now seems to be a good
 time to rationalise the two libraries in D2. I use D2 because I want
 the const stuff (and some other nice things too), but that locks me out
 of Tango and all the other libraries that use it, most notably GUI
 libraries.

 Is anything happening on this front?
Well D2 forked around the same time as the D conference last year, at which that conclusion was reached, and since then W has made very little progress on merging the Phobos and Tango runtime libraries, instead focusing on new D2 features. *shrug*
Ok - well, I hope that will change soon.
Aug 08 2008
next sibling parent downs <default_357-line yahoo.de> writes:
Graham St Jack wrote:
 On Sat, 09 Aug 2008 00:32:38 -0400, Jarrett Billingsley wrote:
 
 "Graham St Jack" <graham.stjack internode.on.net> wrote in message
 news:g7j16v$tfs$1 digitalmars.com...
 Quite a while ago there was talk of rearranging Tango and Phobos so
 that they share the same runtime, allowing BOTH libraries to be
 available in the same compiler installation.

 It looks to me as though D2 is stabilising, so now seems to be a good
 time to rationalise the two libraries in D2. I use D2 because I want
 the const stuff (and some other nice things too), but that locks me out
 of Tango and all the other libraries that use it, most notably GUI
 libraries.

 Is anything happening on this front?
Well D2 forked around the same time as the D conference last year, at which that conclusion was reached, and since then W has made very little progress on merging the Phobos and Tango runtime libraries, instead focusing on new D2 features. *shrug*
Ok - well, I hope that will change soon.
I think we all share that sentiment.
Aug 08 2008
prev sibling parent reply "Bill Baxter" <wbaxter gmail.com> writes:
On Sat, Aug 9, 2008 at 1:54 PM, Graham St Jack
<graham.stjack internode.on.net> wrote:
 On Sat, 09 Aug 2008 00:32:38 -0400, Jarrett Billingsley wrote:

 "Graham St Jack" <graham.stjack internode.on.net> wrote in message
 news:g7j16v$tfs$1 digitalmars.com...
 Quite a while ago there was talk of rearranging Tango and Phobos so
 that they share the same runtime, allowing BOTH libraries to be
 available in the same compiler installation.

 It looks to me as though D2 is stabilising, so now seems to be a good
 time to rationalise the two libraries in D2. I use D2 because I want
 the const stuff (and some other nice things too), but that locks me out
 of Tango and all the other libraries that use it, most notably GUI
 libraries.

 Is anything happening on this front?
Well D2 forked around the same time as the D conference last year, at which that conclusion was reached, and since then W has made very little progress on merging the Phobos and Tango runtime libraries, instead focusing on new D2 features. *shrug*
Ok - well, I hope that will change soon.
Doesn't sound like it will, now with "SafeD" and the "shared" variable ideas apparently on the to-do list. There's always something big, always just beyond the horizon. --bb
Aug 08 2008
parent reply Auria <auria.mg gmail.com> writes:
Bill Baxter Wrote:

 On Sat, Aug 9, 2008 at 1:54 PM, Graham St Jack
 <graham.stjack internode.on.net> wrote:
 On Sat, 09 Aug 2008 00:32:38 -0400, Jarrett Billingsley wrote:

 "Graham St Jack" <graham.stjack internode.on.net> wrote in message
 news:g7j16v$tfs$1 digitalmars.com...
 Quite a while ago there was talk of rearranging Tango and Phobos so
 that they share the same runtime, allowing BOTH libraries to be
 available in the same compiler installation.

 It looks to me as though D2 is stabilising, so now seems to be a good
 time to rationalise the two libraries in D2. I use D2 because I want
 the const stuff (and some other nice things too), but that locks me out
 of Tango and all the other libraries that use it, most notably GUI
 libraries.

 Is anything happening on this front?
Well D2 forked around the same time as the D conference last year, at which that conclusion was reached, and since then W has made very little progress on merging the Phobos and Tango runtime libraries, instead focusing on new D2 features. *shrug*
Ok - well, I hope that will change soon.
Doesn't sound like it will, now with "SafeD" and the "shared" variable ideas apparently on the to-do list. There's always something big, always just beyond the horizon. --bb
Yes, and even if i know this has been discussed to death, i'll allow myself to add i really dislike the direction D is taking. D's homepage states it is driven by practical experience and not academical feats. Hasn't a solid standard library been shown over time to be absolutely necessary for any language to become popular and highly usable? It seems like D is taking the direction of adding lots of sugar features, and misses basic practical experience stuff. All that sugar is totally useless if D doesn't even have a standard library upon which everything can be built
Aug 09 2008
parent "Bent Rasmussen" <IncredibleShrinkingSphere Gmail.com> writes:
There is a stable language, it's called D1.

D2 should not be preempted by standard libraries, except experimental ones, 
built to assist the language design, so it is known to be sound. It is great 
to have two experts like Andrei and Walter work in tandem in a feedback 
loop. I'm also enthusiastic about the "leave no issue behind" mantra - 
within limits of course. It's sure to make D2 more coherent, dispite it's 
plethora of features.

It looks to me as if there are new libraries being built side-by-side with 
D2. At least foundational ones. It is hard to build higher-level ones when 
D2 is not stable; wasted work, one might say.

Also, I'm not sure what "misses basic practical experience stuff" means in 
the context of Andrei and Walter.

My newb impression at least :)

Bent

 Yes, and even if i know this has been discussed to death, i'll allow 
 myself to add i really dislike the direction D is taking. D's homepage 
 states it is driven by practical experience and not academical feats. 
 Hasn't a solid standard library been shown over time to be absolutely 
 necessary for any language to become popular and highly usable? It seems 
 like D is taking the direction of adding lots of sugar features, and 
 misses basic practical experience stuff. All that sugar is totally useless 
 if D doesn't even have a standard library upon which everything can be 
 built 
Aug 23 2008
prev sibling next sibling parent reply Sean Kelly <sean invisibleduck.org> writes:
== Quote from Graham St Jack (graham.stjack internode.on.net)'s article
 Quite a while ago there was talk of rearranging Tango and Phobos so that
 they share the same runtime, allowing BOTH libraries to be available in
 the same compiler installation.
This has been the case for ages via the Tango / Tangobos bundled release.
 It looks to me as though D2 is stabilising, so now seems to be a good
 time to rationalise the two libraries in D2. I use D2 because I want the
 const stuff (and some other nice things too), but that locks me out of
 Tango and all the other libraries that use it, most notably GUI libraries.
 Is anything happening on this front?
I can update the Tango runtime once I find the time, but some of the coding approaches in the Tango user code aren't entirely compatible with D 2.0. This was the original inspiration for the "scoped const" proposal. In short, it wouldn't be unreasonable to expect the Tango runtime to support D 2.0, but my understanding is that making the user code support D 2.0 would require a redesign in some cases, which is unlikely to occur. Sean
Aug 09 2008
next sibling parent Lars Ivar Igesund <larsivar igesund.net> writes:
Sean Kelly wrote:

 == Quote from Graham St Jack (graham.stjack internode.on.net)'s article
 Quite a while ago there was talk of rearranging Tango and Phobos so that
 they share the same runtime, allowing BOTH libraries to be available in
 the same compiler installation.
This has been the case for ages via the Tango / Tangobos bundled release.
 It looks to me as though D2 is stabilising, so now seems to be a good
 time to rationalise the two libraries in D2. I use D2 because I want the
 const stuff (and some other nice things too), but that locks me out of
 Tango and all the other libraries that use it, most notably GUI
 libraries. Is anything happening on this front?
I can update the Tango runtime once I find the time, but some of the coding approaches in the Tango user code aren't entirely compatible with D 2.0. This was the original inspiration for the "scoped const" proposal. In short, it wouldn't be unreasonable to expect the Tango runtime to support D 2.0, but my understanding is that making the user code support D 2.0 would require a redesign in some cases, which is unlikely to occur.
There is a bugzilla entry (or two) that hinders porting Tango as it is. One issue was fixed with the latest release (2.018). -- Lars Ivar Igesund blog at http://larsivi.net DSource, #d.tango & #D: larsivi Dancing the Tango
Aug 09 2008
prev sibling parent reply Nick B <nick.barbalich gmail.com> writes:
Sean

So what is the plan to transition Tango to D2.0 ?

Is the Tango team waiting for const to be removed from D2.0, or will 
Tango continue to use D1.0 forever, or is the team waiting to see the 
final form of D2.0 before deciding what to do ?

Nick B



Sean Kelly wrote:
 == Quote from Graham St Jack (graham.stjack internode.on.net)'s article
 Quite a while ago there was talk of rearranging Tango and Phobos so that
 they share the same runtime, allowing BOTH libraries to be available in
 the same compiler installation.
This has been the case for ages via the Tango / Tangobos bundled release.
 It looks to me as though D2 is stabilising, so now seems to be a good
 time to rationalise the two libraries in D2. I use D2 because I want the
 const stuff (and some other nice things too), but that locks me out of
 Tango and all the other libraries that use it, most notably GUI libraries.
 Is anything happening on this front?
I can update the Tango runtime once I find the time, but some of the coding approaches in the Tango user code aren't entirely compatible with D 2.0. This was the original inspiration for the "scoped const" proposal. In short, it wouldn't be unreasonable to expect the Tango runtime to support D 2.0, but my understanding is that making the user code support D 2.0 would require a redesign in some cases, which is unlikely to occur. Sean
Aug 10 2008
parent reply Lars Ivar Igesund <larsivar igesund.net> writes:
Nick B wrote:

 Sean
 
 So what is the plan to transition Tango to D2.0 ?
 
 Is the Tango team waiting for const to be removed from D2.0, or will
 Tango continue to use D1.0 forever, or is the team waiting to see the
 final form of D2.0 before deciding what to do ?
We don't expect const to be removed :) As it is, this must be resolved before it is possible to properly port Tango: http://d.puremagic.com/issues/show_bug.cgi?id=2267 1644 was fixed now, but is in our opinion the lesser solution to the problem - we'd much rather have 1961. 2204 is still open I think. Also as long as closures are allocated on stack, that is likely to be rather detrimental to the performance. Once we have a resolution on that, work on the Tango D 2.0 branch will probably continue, and this branch will be available to all who need it. If possible, an official release may happen shortly after the time Walter calls D 2.0 to be stable. One other concern is that it is almost impossible to have code that is both D1 and D2 compatible, something which mean the mantainance of two branches, a potentially daunting task - it would be good if the "syntactical correctness" restriction on versioned out blocks could be removed for at least D1/D2 identifiers. -- Lars Ivar Igesund blog at http://larsivi.net DSource, #d.tango & #D: larsivi Dancing the Tango
Aug 10 2008
next sibling parent reply Nick B <nick.barbalich gmail.com> writes:
Lars

Thanks for the response.  Its good to know that the Tango team is 
planning to transition to D2.0, even if you still have some major issues 
to work through, and you have to wait until Walter fixes these critical 
bugs.

cheers

Nick B


Lars Ivar Igesund wrote:
 
 We don't expect const to be removed :) As it is, this must be resolved
 before it is possible to properly port Tango:
 
 http://d.puremagic.com/issues/show_bug.cgi?id=2267
 
 1644 was fixed now, but is in our opinion the lesser solution to the
 problem - we'd much rather have 1961.
 
 2204 is still open I think.
 
 Also as long as closures are allocated on stack, that is likely to be rather
 detrimental to the performance.
 
 Once we have a resolution on that, work on the Tango D 2.0 branch will
 probably continue, and this branch will be available to all who need it. If
 possible, an official release may happen shortly after the time Walter
 calls D 2.0 to be stable.
 
 One other concern is that it is almost impossible to have code that is both
 D1 and D2 compatible, something which mean the mantainance of two branches,
 a potentially daunting task - it would be good if the "syntactical
 correctness" restriction on versioned out blocks could be removed for at
 least D1/D2 identifiers.
 
Aug 10 2008
parent Walter Bright <newshound1 digitalmars.com> writes:
Nick B wrote:
 Thanks for the response.  Its good to know that the Tango team is 
 planning to transition to D2.0, even if you still have some major issues 
 to work through, and you have to wait until Walter fixes these critical 
 bugs.
They're already fixed in the latest update.
Aug 13 2008
prev sibling next sibling parent reply "Jarrett Billingsley" <kb3ctd2 yahoo.com> writes:
"Lars Ivar Igesund" <larsivar igesund.net> wrote in message 
news:g7mboq$qcl$1 digitalmars.com...

 Also as long as closures are allocated on stack, that is likely to be 
 rather
 detrimental to the performance.
Heap. That is another major blocker for me besides const. Most of my code uses nested functions that are never supposed to be closures, and this "feature" would cause it all to unnecessarily allocate memory.
Aug 10 2008
next sibling parent reply Frank Benoit <keinfarbton googlemail.com> writes:
Jarrett Billingsley schrieb:
 "Lars Ivar Igesund" <larsivar igesund.net> wrote in message 
 news:g7mboq$qcl$1 digitalmars.com...
 
 Also as long as closures are allocated on stack, that is likely to be 
 rather
 detrimental to the performance.
Heap. That is another major blocker for me besides const. Most of my code uses nested functions that are never supposed to be closures, and this "feature" would cause it all to unnecessarily allocate memory.
i second that. It is an closure solution which was implemented too easy, imho. 1.) it breaks the semantic of an existing syntax. So existing code can be broken without any warning. (change in runtime behaviour) 2.) there is still no alternative syntax to get the old behaviour 3.) the closures are not really closures. E.g. const variables can change value. (Bug 2043) This is definately a blocker to switch from D1 to D2.
Aug 10 2008
parent reply Sean Kelly <sean invisibleduck.org> writes:
Frank Benoit wrote:
 Jarrett Billingsley schrieb:
 "Lars Ivar Igesund" <larsivar igesund.net> wrote in message 
 news:g7mboq$qcl$1 digitalmars.com...

 Also as long as closures are allocated on stack, that is likely to be 
 rather
 detrimental to the performance.
Heap. That is another major blocker for me besides const. Most of my code uses nested functions that are never supposed to be closures, and this "feature" would cause it all to unnecessarily allocate memory.
i second that. It is an closure solution which was implemented too easy, imho. 1.) it breaks the semantic of an existing syntax. So existing code can be broken without any warning. (change in runtime behaviour)
Yup. Much like the change in meaning of "const," which I've admittedly complained about perhaps overmuch.
 2.) there is still no alternative syntax to get the old behaviour
I would prefer that the old behavior the the default and that "new &fn" or something similar would be used for full closures.
 3.) the closures are not really closures. E.g. const variables can 
 change value. (Bug 2043)
This one, at least, is clearly a bug. Sean
Aug 11 2008
next sibling parent reply bearophile <bearophileHUGS lycos.com> writes:
Sean Kelly:
 I would prefer that the old behavior the the default and that "new &fn" 
 or something similar would be used for full closures.
We have already discussed why this is negative, when practically possible in D the default has to be the "safer" version (what "safer" is can be debated). Bye, bearophile
Aug 11 2008
parent reply Sean Kelly <sean invisibleduck.org> writes:
== Quote from bearophile (bearophileHUGS lycos.com)'s article
 Sean Kelly:
 I would prefer that the old behavior the the default and that "new &fn"
 or something similar would be used for full closures.
We have already discussed why this is negative, when practically possible in D the default has to be
the "safer" version (what "safer" is can be debated). It's just a matter of opinion, I suppose. As D is a systems language, I don't agree with many arguments about safety when that safety conflicts with my ability to control what the language is doing behind the scenes. Portability between versions is also an issue--code that is correctly designed for D 1.0 may be unusable on D 2.0 because the default behavior for certain language features is different, although the syntax is still completely legal. Also, there isn't any way to easily grep for the use of delegates so finding such trouble spots requires a manual code review. Because one of Tango's core design goals was to have no hidden allocations, this behavior is a major concern for me because it forces me to choose between elegant algorithm design (which works fine in D 1.0) and a design that's portable between language versions in a way I find acceptable. I think if/when Tango is ever released for D 2.0 necessity may dictate that it be an unsupported release for reasons such as this. Sean
Aug 11 2008
next sibling parent reply bearophile <bearophileHUGS lycos.com> writes:
Sean Kelly:
 It's just a matter of opinion, I suppose.  As D is a systems language, I don't
 agree with many arguments about safety when that safety conflicts with my
 ability to control what the language is doing behind the scenes.
I agree that: - a system language has to be efficient; - there must be a short, readable and nice way to disable heap allocation of closures (that I think has to happen by default); - that sometimes safety has to be put aside (that's why I have said "practically possible": if a safe feature slows down code too much it's not much fit for a system language, especially when compiling in release mode). - I'm using D instead of Python because sometimes I need a modern language that runs my programs faster (this isn't a system purpose). Despite that, there are tons of situations where a "fast language" can help avoid bugs with little or no performance penalty (and adding a statement to disable the heap allocation of closures leads to no performance penalty). Examples of other possible improvements: foreach (i, x in array) instead of: foreach (i, x; array) (But people here have explained me that despite this being better for the programmer it's worse for the compiler, making it more complex etc, and in the end a worse compiler is bad for the programmer too). Or a switch() statement with a semantic safer than then C switch, or various other things that help you decrease bug count and on average produce a correctly running code in less time :-)
 Portability between versions is also an issue--code that is correctly designed
for D 1.0 may be unusable on D 2.0 because the default behavior for certain
language features is different, although the syntax is still completely legal.<
I have written a library that despite being surely tiny compared to Tango, is currently already 817 KB of code, with no redundancy inside, and it's written for D 1.x, so I understand your pain of porting things to D 2.x. Despite this, D is a young language still, and it's developing quickly still, so it's too much early now to impose too many backward constraints... D 1.x may die and be forgotten, and maybe D 2.x too (Walter already says that AST macros are for D 3.x) so every current big lib for D will probably need one or two major rewrites. In 5 years we may have CPUs with several cores, that the currently mostly-sequential code used in my libs and Tango will be partially obsolete, that may require large changes in the libs and maybe in the language too... Bye, bearophile
Aug 11 2008
parent "Simen Kjaeraas" <simen.kjaras gmail.com> writes:
bearophile <bearophileHUGS lycos.com> wrote:

 Examples of other possible improvements:
 foreach (i, x in array)
 instead of:
 foreach (i, x; array)
 (But people here have explained me that despite this being better for  
 the programmer it's worse for the compiler, making it more complex etc,  
 and in the end a worse compiler is bad for the programmer too).
Why not make it foreach (i, x of ar) ? Oh right. Because that would add keywords to the language. Other ideas (that do not add keywords): foreach (i, x with ar) foreach (i, x for ar) foreach (i, x scope ar) and of course, there's my favorite: foreach (i, x enum ar) -- Simen
Aug 12 2008
prev sibling next sibling parent reply Nick B <nick.barbalich gmail.com> writes:
Sean Kelly wrote:
 == Quote from bearophile (bearophileHUGS lycos.com)'s article
 Sean Kelly:
 I would prefer that the old behavior the the default and that "new &fn"
 or something similar would be used for full closures.
We have already discussed why this is negative, when practically possible in D the default has to be
the "safer" version (what "safer" is can be debated). It's just a matter of opinion, I suppose. As D is a systems language, I don't agree with many arguments about safety when that safety conflicts with my ability to control what the language is doing behind the scenes. Portability between versions is also an issue--code that is correctly designed for D 1.0 may be unusable on D 2.0 because the default behavior for certain language features is different, although the syntax is still completely legal. Also, there isn't any way to easily grep for the use of delegates so finding such trouble spots requires a manual code review. Because one of Tango's core design goals was to have no hidden allocations, this behavior is a major concern for me because it forces me to choose between elegant algorithm design (which works fine in D 1.0) and a design that's portable between language versions in a way I find acceptable. I think if/when Tango is ever released for D 2.0 necessity may dictate that it be an unsupported release for reasons such as this. Sean
Sean Can you explain what you mean by a "unsupported release" ? Do you mean that all bugs will not fixed or only a certain sub-set of bugs ? Nick B
Aug 12 2008
next sibling parent reply Alexander Panek <alexander.panek brainsware.org> writes:
Nick B wrote:
  > Can you explain what you mean by a "unsupported release" ?
 
 Do you mean that all bugs will not fixed or only a certain sub-set of 
 bugs ?
I suppose he means that there's no guarantee that bugs are fixed. They may or may not be.
Aug 12 2008
parent Lars Ivar Igesund <larsivar igesund.net> writes:
Alexander Panek wrote:

 Nick B wrote:
   > Can you explain what you mean by a "unsupported release" ?
 
 Do you mean that all bugs will not fixed or only a certain sub-set of
 bugs ?
I suppose he means that there's no guarantee that bugs are fixed. They may or may not be.
Well, it would rather be more that we cannot guarantee that things operates as intended as long as there is no way to specify what we need to specify, or that the D spec don't have the necessary guarantees for the operation of the language. Potentially unbounded running time due to unexpected allocations would be one such thing. -- Lars Ivar Igesund blog at http://larsivi.net DSource, #d.tango & #D: larsivi Dancing the Tango
Aug 12 2008
prev sibling parent Sean Kelly <sean invisibleduck.org> writes:
Nick B wrote:
 Sean Kelly wrote:
 == Quote from bearophile (bearophileHUGS lycos.com)'s article
 Sean Kelly:
 I would prefer that the old behavior the the default and that "new &fn"
 or something similar would be used for full closures.
We have already discussed why this is negative, when practically possible in D the default has to be
the "safer" version (what "safer" is can be debated). It's just a matter of opinion, I suppose. As D is a systems language, I don't agree with many arguments about safety when that safety conflicts with my ability to control what the language is doing behind the scenes. Portability between versions is also an issue--code that is correctly designed for D 1.0 may be unusable on D 2.0 because the default behavior for certain language features is different, although the syntax is still completely legal. Also, there isn't any way to easily grep for the use of delegates so finding such trouble spots requires a manual code review. Because one of Tango's core design goals was to have no hidden allocations, this behavior is a major concern for me because it forces me to choose between elegant algorithm design (which works fine in D 1.0) and a design that's portable between language versions in a way I find acceptable. I think if/when Tango is ever released for D 2.0 necessity may dictate that it be an unsupported release for reasons such as this.
Can you explain what you mean by a "unsupported release" ?
For example, Tango currently provides guarantees about hidden memory allocations -- ie. it doesn't perform any, really. But with the new closure rules in D2 we can't provide the same guarantee without a redesign. So I'd consider Tango on D2 to be unsupported because it won't be able to provide the guarantees we provide on D1 without a rewrite, which we aren't planning on doing.
 Do you mean that all bugs will not fixed or only a certain sub-set of 
 bugs ?
See above. I wouldn't consider these bugs per se, just documented behavior. Sean
Aug 14 2008
prev sibling next sibling parent reply dsimcha <dsimcha yahoo.com> writes:
What about, at least initially, releasing a subset of Tango for D2 and gradually
porting more as issues are fixed?  For example, just for now, just release
whatever subset of Tango is high-level enough to run on top of the D2 Phobos
runtime and isn't plagued too severely by const issues, even if it doesn't mesh
perfectly, i.e. requires some casting, etc. on the part of client code.  I'm not
really sure, but I would guess that this would leave a reasonably large subset
with plenty of useful things.

To be honest, I'm not sure how feasible this is, but I thought I would throw it
out there as a suggestion.  Tango is a huge library with tons of nice stuff, and
it seems like a shame that D2 users can't use any of it if only parts of it are
broken.
Aug 12 2008
parent reply Lars Ivar Igesund <larsivar igesund.net> writes:
dsimcha wrote:

 What about, at least initially, releasing a subset of Tango for D2 and
 gradually
 porting more as issues are fixed?  For example, just for now, just release
 whatever subset of Tango is high-level enough to run on top of the D2
 Phobos runtime and isn't plagued too severely by const issues, even if it
 doesn't mesh
 perfectly, i.e. requires some casting, etc. on the part of client code. 
There isn't really a subset of Tango that can run on top of any Phobos runtime. The Tango runtime probably works fine with D2 without any major changes, it is the user library that is problematic. The work on the porting has begun in a branch in Tango's svn repository, but cannot be continued properly until certain issues are fixed.
 I'm not really sure, but I would guess that this would leave a reasonably
 large subset with plenty of useful things.
 
 To be honest, I'm not sure how feasible this is, but I thought I would
 throw it
 out there as a suggestion.  Tango is a huge library with tons of nice
 stuff, and it seems like a shame that D2 users can't use any of it if only
 parts of it are broken.
It is typically the behaviour of certain core parts (text manipulation, io) that doesn't work properly, and so most of the other parts of Tango won't work either. Right now it isn't really compilable either if I understand correctly. But we got people on it! :) Really, it would be swell if Tango could work with D2, but currently D2 is not usable for a library like Tango. -- Lars Ivar Igesund blog at http://larsivi.net DSource, #d.tango & #D: larsivi Dancing the Tango
Aug 12 2008
next sibling parent reply Nick B <nick.barbalich gmail.com> writes:
Lars Ivar Igesund wrote:
 dsimcha wrote:
 
 What about, at least initially, releasing a subset of Tango for D2 and
 gradually
 porting more as issues are fixed?  For example, just for now, just release
 whatever subset of Tango is high-level enough to run on top of the D2
 Phobos runtime and isn't plagued too severely by const issues, even if it
 doesn't mesh
 perfectly, i.e. requires some casting, etc. on the part of client code. 
There isn't really a subset of Tango that can run on top of any Phobos runtime. The Tango runtime probably works fine with D2 without any major changes, it is the user library that is problematic. The work on the porting has begun in a branch in Tango's svn repository, but cannot be continued properly until certain issues are fixed.
 I'm not really sure, but I would guess that this would leave a reasonably
 large subset with plenty of useful things.

 To be honest, I'm not sure how feasible this is, but I thought I would
 throw it
 out there as a suggestion.  Tango is a huge library with tons of nice
 stuff, and it seems like a shame that D2 users can't use any of it if only
 parts of it are broken.
It is typically the behaviour of certain core parts (text manipulation, io) that doesn't work properly, and so most of the other parts of Tango won't work either. Right now it isn't really compilable either if I understand correctly. But we got people on it! :) Really, it would be swell if Tango could work with D2, but currently D2 is not usable for a library like Tango.
So what is the plan to resolve these creative differences ? When is the Tango team and Walter going to get in the same room to thrash though these differences, because if these issues are not resolved, then the split will get wider, and wider. Finally, both communities will go their separate ways, and the community (both D and Tango) will burn and die. Nick B
Aug 13 2008
next sibling parent reply Lars Ivar Igesund <larsivar igesund.net> writes:
Nick B wrote:

 Lars Ivar Igesund wrote:
 dsimcha wrote:
 
 What about, at least initially, releasing a subset of Tango for D2 and
 gradually
 porting more as issues are fixed?  For example, just for now, just
 release whatever subset of Tango is high-level enough to run on top of
 the D2 Phobos runtime and isn't plagued too severely by const issues,
 even if it doesn't mesh
 perfectly, i.e. requires some casting, etc. on the part of client code.
There isn't really a subset of Tango that can run on top of any Phobos runtime. The Tango runtime probably works fine with D2 without any major changes, it is the user library that is problematic. The work on the porting has begun in a branch in Tango's svn repository, but cannot be continued properly until certain issues are fixed.
 I'm not really sure, but I would guess that this would leave a
 reasonably large subset with plenty of useful things.

 To be honest, I'm not sure how feasible this is, but I thought I would
 throw it
 out there as a suggestion.  Tango is a huge library with tons of nice
 stuff, and it seems like a shame that D2 users can't use any of it if
 only parts of it are broken.
It is typically the behaviour of certain core parts (text manipulation, io) that doesn't work properly, and so most of the other parts of Tango won't work either. Right now it isn't really compilable either if I understand correctly. But we got people on it! :) Really, it would be swell if Tango could work with D2, but currently D2 is not usable for a library like Tango.
So what is the plan to resolve these creative differences ?
Bugzilla entries exists, it is up to Walter to decide the way forward. -- Lars Ivar Igesund blog at http://larsivi.net DSource, #d.tango & #D: larsivi Dancing the Tango
Aug 13 2008
parent reply "Denis Koroskin" <2korden gmail.com> writes:
On Wed, 13 Aug 2008 15:25:29 +0400, Lars Ivar Igesund  
<larsivar igesund.net> wrote:

 Nick B wrote:

 Lars Ivar Igesund wrote:
 dsimcha wrote:

 What about, at least initially, releasing a subset of Tango for D2 and
 gradually
 porting more as issues are fixed?  For example, just for now, just
 release whatever subset of Tango is high-level enough to run on top of
 the D2 Phobos runtime and isn't plagued too severely by const issues,
 even if it doesn't mesh
 perfectly, i.e. requires some casting, etc. on the part of client  
 code.
There isn't really a subset of Tango that can run on top of any Phobos runtime. The Tango runtime probably works fine with D2 without any major changes, it is the user library that is problematic. The work on the porting has begun in a branch in Tango's svn repository, but cannot be continued properly until certain issues are fixed.
 I'm not really sure, but I would guess that this would leave a
 reasonably large subset with plenty of useful things.

 To be honest, I'm not sure how feasible this is, but I thought I would
 throw it
 out there as a suggestion.  Tango is a huge library with tons of nice
 stuff, and it seems like a shame that D2 users can't use any of it if
 only parts of it are broken.
It is typically the behaviour of certain core parts (text manipulation, io) that doesn't work properly, and so most of the other parts of Tango won't work either. Right now it isn't really compilable either if I understand correctly. But we got people on it! :) Really, it would be swell if Tango could work with D2, but currently D2 is not usable for a library like Tango.
So what is the plan to resolve these creative differences ?
Bugzilla entries exists, it is up to Walter to decide the way forward.
The biggest issue is diffent Tango and Phobos runtime implementation, I think. I didn't find any bugzilla reports on this subject, though. :(
Aug 13 2008
next sibling parent reply Lars Ivar Igesund <larsivar igesund.net> writes:
Denis Koroskin wrote:

 On Wed, 13 Aug 2008 15:25:29 +0400, Lars Ivar Igesund
 <larsivar igesund.net> wrote:
 
 Nick B wrote:

 Lars Ivar Igesund wrote:
 dsimcha wrote:

 What about, at least initially, releasing a subset of Tango for D2 and
 gradually
 porting more as issues are fixed?  For example, just for now, just
 release whatever subset of Tango is high-level enough to run on top of
 the D2 Phobos runtime and isn't plagued too severely by const issues,
 even if it doesn't mesh
 perfectly, i.e. requires some casting, etc. on the part of client
 code.
There isn't really a subset of Tango that can run on top of any Phobos runtime. The Tango runtime probably works fine with D2 without any major changes, it is the user library that is problematic. The work on the porting has begun in a branch in Tango's svn repository, but cannot be continued properly until certain issues are fixed.
 I'm not really sure, but I would guess that this would leave a
 reasonably large subset with plenty of useful things.

 To be honest, I'm not sure how feasible this is, but I thought I would
 throw it
 out there as a suggestion.  Tango is a huge library with tons of nice
 stuff, and it seems like a shame that D2 users can't use any of it if
 only parts of it are broken.
It is typically the behaviour of certain core parts (text manipulation, io) that doesn't work properly, and so most of the other parts of Tango won't work either. Right now it isn't really compilable either if I understand correctly. But we got people on it! :) Really, it would be swell if Tango could work with D2, but currently D2 is not usable for a library like Tango.
So what is the plan to resolve these creative differences ?
Bugzilla entries exists, it is up to Walter to decide the way forward.
The biggest issue is diffent Tango and Phobos runtime implementation, I think. I didn't find any bugzilla reports on this subject, though. :(
Oh, I actually misinterpreted Nick's meaning. Whether it is an issue or not, depends on the POV. Doing anything with it, is in Walter's ballpark. -- Lars Ivar Igesund blog at http://larsivi.net DSource, #d.tango & #D: larsivi Dancing the Tango
Aug 13 2008
parent Walter Bright <newshound1 digitalmars.com> writes:
Lars Ivar Igesund wrote:
 The biggest issue is diffent Tango and Phobos runtime implementation, I
 think.
 I didn't find any bugzilla reports on this subject, though. :(
Oh, I actually misinterpreted Nick's meaning. Whether it is an issue or not, depends on the POV. Doing anything with it, is in Walter's ballpark.
Please see my other post here on this topic.
Aug 13 2008
prev sibling parent reply Moritz Warning <moritzwarning web.de> writes:
On Wed, 13 Aug 2008 15:29:45 +0400, Denis Koroskin wrote:


 The biggest issue is diffent Tango and Phobos runtime implementation, I
 think.
 I didn't find any bugzilla reports on this subject, though. :(
I haven't taken a look at those runtime implementation differences, but I wonder why there are no activities to solve this issue. It makes it look like the participants are playing the golden throne game...
Aug 13 2008
parent reply Sean Kelly <sean invisibleduck.org> writes:
== Quote from Moritz Warning (moritzwarning web.de)'s article
 On Wed, 13 Aug 2008 15:29:45 +0400, Denis Koroskin wrote:
 The biggest issue is diffent Tango and Phobos runtime implementation, I
 think.
 I didn't find any bugzilla reports on this subject, though. :(
I haven't taken a look at those runtime implementation differences, but I wonder why there are no activities to solve this issue. It makes it look like the participants are playing the golden throne game...
Unfortunately, for this to be resolved it requires cooperation from both sides. It takes two to Tango, as they say (sorry, bad joke). Sean
Aug 13 2008
next sibling parent reply Robert Fraser <fraserofthenight gmail.com> writes:
Sean Kelly Wrote:

 == Quote from Moritz Warning (moritzwarning web.de)'s article
 On Wed, 13 Aug 2008 15:29:45 +0400, Denis Koroskin wrote:
 The biggest issue is diffent Tango and Phobos runtime implementation, I
 think.
 I didn't find any bugzilla reports on this subject, though. :(
I haven't taken a look at those runtime implementation differences, but I wonder why there are no activities to solve this issue. It makes it look like the participants are playing the golden throne game...
Unfortunately, for this to be resolved it requires cooperation from both sides. It takes two to Tango, as they say (sorry, bad joke). Sean
I see the D community heading for a split. One side will be D1 (hopefully a D 1.5) +tango, and the other side will be D2+phobos. I don't think of this as a bad thing nessescarily, just two different directions.
Aug 13 2008
next sibling parent reply Don <nospam nospam.com.au> writes:
Robert Fraser wrote:
 Sean Kelly Wrote:
 
 == Quote from Moritz Warning (moritzwarning web.de)'s article
 On Wed, 13 Aug 2008 15:29:45 +0400, Denis Koroskin wrote:
 The biggest issue is diffent Tango and Phobos runtime implementation, I
 think.
 I didn't find any bugzilla reports on this subject, though. :(
I haven't taken a look at those runtime implementation differences, but I wonder why there are no activities to solve this issue. It makes it look like the participants are playing the golden throne game...
Unfortunately, for this to be resolved it requires cooperation from both sides. It takes two to Tango, as they say (sorry, bad joke). Sean
I see the D community heading for a split. One side will be D1 (hopefully a D 1.5) +tango, and the other side will be D2+phobos. I don't think of this as a bad thing nessescarily, just two different directions.
I desperately hope not. I'm strongly active in both camps. I'm heartily sick of this situation. std.math and tango.math.Math/ tango.math.IEEE are now a cut and paste of each other, barring a very small number of lines. I want a single code base, but I'm not sure what more I can do.
Aug 13 2008
next sibling parent Walter Bright <newshound1 digitalmars.com> writes:
Don wrote:
 std.math and tango.math.Math/ 
 tango.math.IEEE are now a cut and paste of each other, barring a very 
 small number of lines. I want a single code base, but I'm not sure what 
 more I can do.
And I appreciate your efforts here and can't thank you enough.
Aug 13 2008
prev sibling parent Sean Kelly <sean invisibleduck.org> writes:
Don wrote:
 Robert Fraser wrote:
 Sean Kelly Wrote:

 == Quote from Moritz Warning (moritzwarning web.de)'s article
 On Wed, 13 Aug 2008 15:29:45 +0400, Denis Koroskin wrote:
 The biggest issue is diffent Tango and Phobos runtime 
 implementation, I
 think.
 I didn't find any bugzilla reports on this subject, though. :(
I haven't taken a look at those runtime implementation differences, but I wonder why there are no activities to solve this issue. It makes it look like the participants are playing the golden throne game...
Unfortunately, for this to be resolved it requires cooperation from both sides. It takes two to Tango, as they say (sorry, bad joke).
I see the D community heading for a split. One side will be D1 (hopefully a D 1.5) +tango, and the other side will be D2+phobos. I don't think of this as a bad thing nessescarily, just two different directions.
I desperately hope not. I'm strongly active in both camps. I'm heartily sick of this situation. std.math and tango.math.Math/ tango.math.IEEE are now a cut and paste of each other, barring a very small number of lines. I want a single code base, but I'm not sure what more I can do.
I don't particularly like the status quo either, but as the maintainer of the runtime there's little I can do for Phobos. It's already been established that the Phobos user code will run on the Tango runtime with basically no modifications (the reverse isn't true), and D2 support simply requires time I don't have at the moment. I'm not sure what else to do here. Sean
Aug 14 2008
prev sibling next sibling parent reply Benji Smith <dlanguage benjismith.net> writes:
Robert Fraser wrote:
 I see the D community heading for a split. One side will be D1 (hopefully a D
1.5) +tango, and the other side will be D2+phobos.  I don't think of this as a
bad thing nessescarily, just two different directions.
That might be okay in an open source project, where the community can just fork the project and go their separate ways. But my assumption is that D1 will eventually be end-of-life'd, maybe when D3 eventually arrives. What happens to the D1 people then? Especially given the incompatibilities between D1 and D2. They won't be able to easily port their code, and my assumption is that they'll just be screwed. --benji
Aug 13 2008
parent reply Robert Fraser <fraserofthenight gmail.com> writes:
Benji Smith Wrote:

 Robert Fraser wrote:
 I see the D community heading for a split. One side will be D1 (hopefully a D
1.5) +tango, and the other side will be D2+phobos.  I don't think of this as a
bad thing nessescarily, just two different directions.
That might be okay in an open source project, where the community can just fork the project and go their separate ways. But my assumption is that D1 will eventually be end-of-life'd, maybe when D3 eventually arrives. What happens to the D1 people then? Especially given the incompatibilities between D1 and D2. They won't be able to easily port their code, and my assumption is that they'll just be screwed. --benji
D1 is definitely not dead. LLVMDC only supports D1 and is soon to come out. Dil... I'm not sure how alive it is, but that's D1-only, too. Most D projects/libraries right now are D1-only.
Aug 13 2008
next sibling parent reply Benji Smith <dlanguage benjismith.net> writes:
Robert Fraser wrote:
 Benji Smith Wrote:
 
 Robert Fraser wrote:
 I see the D community heading for a split. One side will be D1 (hopefully a D
1.5) +tango, and the other side will be D2+phobos.  I don't think of this as a
bad thing nessescarily, just two different directions.
That might be okay in an open source project, where the community can just fork the project and go their separate ways. But my assumption is that D1 will eventually be end-of-life'd, maybe when D3 eventually arrives. What happens to the D1 people then? Especially given the incompatibilities between D1 and D2. They won't be able to easily port their code, and my assumption is that they'll just be screwed. --benji
D1 is definitely not dead. LLVMDC only supports D1 and is soon to come out. Dil... I'm not sure how alive it is, but that's D1-only, too. Most D projects/libraries right now are D1-only.
Sure, that's the case now. But imagine yourself back in 1997, supporting Java 1.0 but (for whatever reason) not wanting to jump into Java 1.1. At the time, you wouldn't have had any problem with compilers, libraries, or JVMs. But eventually, you'd be screwed. Nobody can develop anything in Java 1.0 anymore. It's just not possible. My assumption is that D1 will eventually be as anachronistic as Java 1.0, and those who aren't willing to move their code to D2 will have to pick up their toys and go home. --benji
Aug 13 2008
next sibling parent Lars Ivar Igesund <larsivar igesund.net> writes:
Benji Smith wrote:

 Robert Fraser wrote:
 Benji Smith Wrote:
 
 Robert Fraser wrote:
 I see the D community heading for a split. One side will be D1
 (hopefully a D 1.5) +tango, and the other side will be D2+phobos.  I
 don't think of this as a bad thing nessescarily, just two different
 directions.
That might be okay in an open source project, where the community can just fork the project and go their separate ways. But my assumption is that D1 will eventually be end-of-life'd, maybe when D3 eventually arrives. What happens to the D1 people then? Especially given the incompatibilities between D1 and D2. They won't be able to easily port their code, and my assumption is that they'll just be screwed. --benji
D1 is definitely not dead. LLVMDC only supports D1 and is soon to come out. Dil... I'm not sure how alive it is, but that's D1-only, too. Most D projects/libraries right now are D1-only.
Sure, that's the case now. But imagine yourself back in 1997, supporting Java 1.0 but (for whatever reason) not wanting to jump into Java 1.1. At the time, you wouldn't have had any problem with compilers, libraries, or JVMs. But eventually, you'd be screwed. Nobody can develop anything in Java 1.0 anymore. It's just not possible. My assumption is that D1 will eventually be as anachronistic as Java 1.0, and those who aren't willing to move their code to D2 will have to pick up their toys and go home. --benji
You probably have a point, but Java 1.0 was really dead in the water - I started programming in Java in 1998 back at the university, using 1.1, and I don't think I came over a single 1.0 reference. -- Lars Ivar Igesund blog at http://larsivi.net DSource, #d.tango & #D: larsivi Dancing the Tango
Aug 14 2008
prev sibling next sibling parent reply Walter Bright <newshound1 digitalmars.com> writes:
Benji Smith wrote:
 Robert Fraser wrote:
 D1 is definitely not dead. LLVMDC only supports D1 and is soon to come
 out. Dil... I'm not sure how alive it is, but that's D1-only, too. 
 Most D projects/libraries right now are D1-only.
Sure, that's the case now. But imagine yourself back in 1997, supporting Java 1.0 but (for whatever reason) not wanting to jump into Java 1.1.
When you ship a Java application, you are reliant on it running on the customer's Java VM that is not under your control. If they don't have a Java 1.1 VM, your application doesn't work. The situation is different with a native compiler, because the customer doesn't need anything beyond the target machine/OS to run the application. Furthermore, you can continue to build those executables, regardless of future changes to the compiler, by simply saving a copy of the needed compiler. Even if you didn't save a copy of the compiler, all the various shipped versions of dmd are freely available on the Digital Mars site.
Aug 14 2008
parent Bruno Medeiros <brunodomedeiros+spam com.gmail> writes:
Walter Bright wrote:
 Benji Smith wrote:
 Robert Fraser wrote:
 D1 is definitely not dead. LLVMDC only supports D1 and is soon to come
 out. Dil... I'm not sure how alive it is, but that's D1-only, too. 
 Most D projects/libraries right now are D1-only.
Sure, that's the case now. But imagine yourself back in 1997, supporting Java 1.0 but (for whatever reason) not wanting to jump into Java 1.1.
When you ship a Java application, you are reliant on it running on the customer's Java VM that is not under your control. If they don't have a Java 1.1 VM, your application doesn't work. The situation is different with a native compiler, because the customer doesn't need anything beyond the target machine/OS to run the application. Furthermore, you can continue to build those executables, regardless of future changes to the compiler, by simply saving a copy of the needed compiler. Even if you didn't save a copy of the compiler, all the various shipped versions of dmd are freely available on the Digital Mars site.
The issue is not just about outdated VMs, or outdated compilers. If you are developing an application that uses third-party libraries (which is very common in web-apps, and other big enterprise software), and those libraries require a newer version of your language, you will feel quite compelled to upgrade to the newer version in order to use that libraries. And eventually, if most libraries only support version X of the language, almost all software ends up using version X, and then version X-1 might become effectively dead (and that's something that could happen to D1). -- Bruno Medeiros - Software Developer, MSc. in CS/E graduate http://www.prowiki.org/wiki4d/wiki.cgi?BrunoMedeiros#D
Aug 15 2008
prev sibling parent "Jarrett Billingsley" <kb3ctd2 yahoo.com> writes:
"Benji Smith" <dlanguage benjismith.net> wrote in message 
news:g7vlkg$2gmg$1 digitalmars.com...
 Robert Fraser wrote:
 Benji Smith Wrote:

 Robert Fraser wrote:
 I see the D community heading for a split. One side will be D1 
 (hopefully a D 1.5) +tango, and the other side will be D2+phobos.  I 
 don't think of this as a bad thing nessescarily, just two different 
 directions.
That might be okay in an open source project, where the community can just fork the project and go their separate ways. But my assumption is that D1 will eventually be end-of-life'd, maybe when D3 eventually arrives. What happens to the D1 people then? Especially given the incompatibilities between D1 and D2. They won't be able to easily port their code, and my assumption is that they'll just be screwed. --benji
D1 is definitely not dead. LLVMDC only supports D1 and is soon to come out. Dil... I'm not sure how alive it is, but that's D1-only, too. Most D projects/libraries right now are D1-only.
Sure, that's the case now. But imagine yourself back in 1997, supporting Java 1.0 but (for whatever reason) not wanting to jump into Java 1.1. At the time, you wouldn't have had any problem with compilers, libraries, or JVMs. But eventually, you'd be screwed. Nobody can develop anything in Java 1.0 anymore. It's just not possible. My assumption is that D1 will eventually be as anachronistic as Java 1.0, and those who aren't willing to move their code to D2 will have to pick up their toys and go home. --benji
People are still using C89. *shrug*
Aug 14 2008
prev sibling parent reply bearophile <bearophileHUGS lycos.com> writes:
Robert Fraser:
 LLVMDC only supports D1 and is soon to come out.
D2 is good, I can see only one or two problems in it, so making LLVMDC support D 2.x too looks important to me. What are the issues left in LLVMDC? I see the LLVM backend as the most (the only, maybe) important for the future of D (more important than the closed and not community-hackable backend of DMD, and the complex GCC), are such issues important? If they aren't important then it may be better for Walter to change the specs of D 2.x to made D 2.x fit for LLMV. Because D is meant as a language easy to compile too, but if has some features that can't be implemented well on free backends like the ones of GCC and LLMV then such features look like fit to be removed/modified, otherwise no fully complaint alternative implementations of D may appear, and this sounds silly. Two persons have already answered me regarding the idea of LLVM becoming the reference backend for the D language (that Walter too switches to work on), that most people can improve and tune, but I haven't understood the problems they have explained to me. Bye, bearophile
Aug 13 2008
parent reply Walter Bright <newshound1 digitalmars.com> writes:
bearophile wrote:
 Robert Fraser:
 LLVMDC only supports D1 and is soon to come out.
D2 is good, I can see only one or two problems in it, so making LLVMDC support D 2.x too looks important to me.
I have no idea what would prevent a backend that works with D1 from working with D2.
Aug 13 2008
parent reply Tomas Lindquist Olsen <tomas famolsen.dk> writes:
Walter Bright wrote:
 bearophile wrote:
 Robert Fraser:
 LLVMDC only supports D1 and is soon to come out.
D2 is good, I can see only one or two problems in it, so making LLVMDC support D 2.x too looks important to me.
I have no idea what would prevent a backend that works with D1 from working with D2.
Except for all our changes to the dmd frontend sources, I don't see any problem with updating LLVMDC to D2.0. Of course it would be a bit of work to implement the new expression/statement variations, but I'd assume nothing _too_ major. However the plan right now is to make a fully working D1.0 compiler, until that's done no work will go into future D2.0 support! Tomas
Aug 13 2008
parent reply Walter Bright <newshound1 digitalmars.com> writes:
Tomas Lindquist Olsen wrote:
 Except for all our changes to the dmd frontend sources, I don't see any 
 problem with updating LLVMDC to D2.0.
I suppose this process can be aided if you're willing to send me some diffs so I can incorporate the changes.
Aug 13 2008
parent reply Tomas Lindquist Olsen <tomas famolsen.dk> writes:
Walter Bright wrote:
 I suppose this process can be aided if you're willing to send me some 
 diffs so I can incorporate the changes.
I'll most likely hold you up on that ;) ... Most of the changes we've made are to fix portability/platform related issues. For example, extensive use of printf formatting flags unsupported by ming32, assumptions that target is 32bit, etc. These would be really nice to get fixed in your tree as they make up the majority of the changes, and it would make merging in your DMD updates quite a bit easier. Also it would probably help other people use the frontend for different things in the future. We're still at 1.033 in LLVMDC, but once I find the time to merge in 1.034 I'll take a look at this and see if I can conjure up some patches for review. Tomas
Aug 13 2008
parent reply Walter Bright <newshound1 digitalmars.com> writes:
Tomas Lindquist Olsen wrote:
 Most of the changes we've made are to fix portability/platform related 
 issues. For example, extensive use of printf formatting flags 
 unsupported by ming32,
Umm, those are standard C flags? Hasn't ming32 been updated yet?
 assumptions that target is 32bit, etc.
 
 These would be really nice to get fixed in your tree as they make up the 
 majority of the changes, and it would make merging in your DMD updates 
 quite a bit easier. Also it would probably help other people use the 
 frontend for different things in the future.
Yes, I agree. Absolutely!
 We're still at 1.033 in LLVMDC, but once I find the time to merge in 
 1.034 I'll take a look at this and see if I can conjure up some patches 
 for review.
I'm looking forward to it.
Aug 13 2008
next sibling parent Tomas Lindquist Olsen <tomas famolsen.dk> writes:
Walter Bright wrote:
 Tomas Lindquist Olsen wrote:
 We're still at 1.033 in LLVMDC, but once I find the time to merge in 
 1.034 I'll take a look at this and see if I can conjure up some 
 patches for review.
I'm looking forward to it.
I just had a tiny look, and it looks like you forgot the file(s) with the implementations for all the new arrayOp stuff like: Expression::buildArrayIdent Expression::buildArrayLoop Expression::arrayOp I'm guessing this is not intentional... Could you mail this to me? This address should work. Tomas
Aug 13 2008
prev sibling next sibling parent reply =?ISO-8859-1?Q?Anders_F_Bj=F6rklund?= <afb algonet.se> writes:
Walter Bright wrote:

 Most of the changes we've made are to fix portability/platform related 
 issues. For example, extensive use of printf formatting flags 
 unsupported by ming32,
Umm, those are standard C flags? Hasn't ming32 been updated yet?
 assumptions that target is 32bit, etc.

 These would be really nice to get fixed in your tree as they make up 
 the majority of the changes, and it would make merging in your DMD 
 updates quite a bit easier. Also it would probably help other people 
 use the frontend for different things in the future.
Yes, I agree. Absolutely!
GDC has a couple of those portability changes too, that might be useful to merge back into DMD where that hasn't happened already... It also seems that Tango is having some problems with GDC, because it doesn't follow the DMD specification (sometimes for portability) Like: http://d.puremagic.com/issues/show_bug.cgi?id=670 http://d.puremagic.com/issues/show_bug.cgi?id=1066 http://d.puremagic.com/issues/show_bug.cgi?id=2191 Might be something worthwhile looking into, after the runtime issues between Phobos and Tango (i.e. the differences between DMD and GDC) --anders
Aug 14 2008
parent Lars Ivar Igesund <larsivar igesund.net> writes:
Anders F Björklund wrote:

 Walter Bright wrote:
 
 Most of the changes we've made are to fix portability/platform related
 issues. For example, extensive use of printf formatting flags
 unsupported by ming32,
Umm, those are standard C flags? Hasn't ming32 been updated yet?
 assumptions that target is 32bit, etc.

 These would be really nice to get fixed in your tree as they make up
 the majority of the changes, and it would make merging in your DMD
 updates quite a bit easier. Also it would probably help other people
 use the frontend for different things in the future.
Yes, I agree. Absolutely!
GDC has a couple of those portability changes too, that might be useful to merge back into DMD where that hasn't happened already... It also seems that Tango is having some problems with GDC, because it doesn't follow the DMD specification (sometimes for portability) Like: http://d.puremagic.com/issues/show_bug.cgi?id=670 http://d.puremagic.com/issues/show_bug.cgi?id=1066 http://d.puremagic.com/issues/show_bug.cgi?id=2191 Might be something worthwhile looking into, after the runtime issues between Phobos and Tango (i.e. the differences between DMD and GDC)
This is actually an intended topic at the Tango conference, if many enough/right persons show up :) -- Lars Ivar Igesund blog at http://larsivi.net DSource, #d.tango & #D: larsivi Dancing the Tango
Aug 14 2008
prev sibling parent Bruno Medeiros <brunodomedeiros+spam com.gmail> writes:
Walter Bright wrote:
 Tomas Lindquist Olsen wrote:
 Most of the changes we've made are to fix portability/platform related 
 issues. For example, extensive use of printf formatting flags 
 unsupported by ming32,
Umm, those are standard C flags? Hasn't ming32 been updated yet?
 assumptions that target is 32bit, etc.

 These would be really nice to get fixed in your tree as they make up 
 the majority of the changes, and it would make merging in your DMD 
 updates quite a bit easier. Also it would probably help other people 
 use the frontend for different things in the future.
Yes, I agree. Absolutely!
 We're still at 1.033 in LLVMDC, but once I find the time to merge in 
 1.034 I'll take a look at this and see if I can conjure up some 
 patches for review.
I'm looking forward to it.
Walter, thank you for agreeing with those changes! As the toolset of a language is highly important to its productivity, so does that mean that the more help the community gets in reusing and improving each others tools, the better D will be (especially since we don't have the backing of a large corporation, and most of D's contributers are volunteers/hobbyists). And even more important if that tool is the compiler (which is already being used in several projects). -- Bruno Medeiros - Software Developer, MSc. in CS/E graduate http://www.prowiki.org/wiki4d/wiki.cgi?BrunoMedeiros#D
Aug 15 2008
prev sibling next sibling parent reply Paul D. Anderson <paul.d.removethis.anderson comcast.andthis.net> writes:
Robert Fraser Wrote:

 I see the D community heading for a split. One side will be D1 (hopefully a D
1.5) +tango, and the other side will be D2+phobos.  I don't think of this as a
bad thing nessescarily, just two different directions.
First, let me say that I have the highest regard, both personally and professionally, for Walter (and Andre and Bartosz and the others who are working on D 2.0) and also for the Tango development team. Both groups have a lot of talent and have worked hard to give us (at no cost!) a great language and a great library. The Tango developers have done important and valuable work, providing sturdy, efficient and rigorous implementations of many common software components. They have not only provided the Tango library, but they've also wrung out the language and pushed its capabilities to give us all a better picture of what is possible. (I'd love to see what they could do with the new features in D 2.0.) And they have been careful not to step on Walter's toes while they do this. They discussed the problem with Walter at the first D Language Conference and agreed on a solution: a common runtime module. They have narrowed the incompatibilities between phobos and tango to a minimal set and are waiting for Walter to meet them there. To live up to his part of the bargain, to put it bluntly. A year later he still hasn't done so. But Walter drives development his own way. Walter himself has said that the only difference between himself (and D) and a lot of other replacements for C/C++ is that he's stayed with it longer than they have. And so Walter will listen and respond to criticism, new concepts, alternative implementations and frantic pleas, but, at the end of the day, he will work toward what he sees as the best solution to the most pressing problems. This is mostly a good thing -- Walter has a long-term vision for the D programming language and he is determined to see it through. Of course, this also has a downside. Work that doesn't advance the main line that he has mapped out doesn't get his attention, or his time. It's not that he's unwilling, but he's doing a lot of work on developing what he sees as more fundamental things. So I don't think it is likely that Walter will delay or disturb his current effort to get D 2.0 pushed out the door. And he's made it clear that he not interested in going back to "fix" D 1.0. But what I would really like to see (and I don't think it's asking too much) is a clear statement from Walter that he will indeed make the changes the Tango developers are asking for at some future date. I don't think he even needs to commit himself to a specific date, just a reference point -- when D 2.0 is final, or when the functional programming stuff is in place, or whenever. I think all that we really NEED at this point is assurance that the two groups are not working at cross purposes. If this has already happened, if there is some agreement in place that I just don't know about, then I apologize for this rant. But it seems like little enough to ask. Paul
Aug 13 2008
next sibling parent "Koroskin Denis" <2korden gmail.com> writes:
On Thu, 14 Aug 2008 02:05:37 +0400, Paul D. Anderson  
<paul.d.removethis.anderson comcast.andthis.net> wrote:

 Robert Fraser Wrote:

 I see the D community heading for a split. One side will be D1  
 (hopefully a D 1.5) +tango, and the other side will be D2+phobos.  I  
 don't think of this as a bad thing nessescarily, just two different  
 directions.
First, let me say that I have the highest regard, both personally and professionally, for Walter (and Andre and Bartosz and the others who are working on D 2.0) and also for the Tango development team. Both groups have a lot of talent and have worked hard to give us (at no cost!) a great language and a great library. The Tango developers have done important and valuable work, providing sturdy, efficient and rigorous implementations of many common software components. They have not only provided the Tango library, but they've also wrung out the language and pushed its capabilities to give us all a better picture of what is possible. (I'd love to see what they could do with the new features in D 2.0.) And they have been careful not to step on Walter's toes while they do this. They discussed the problem with Walter at the first D Language Conference and agreed on a solution: a common runtime module. They have narrowed the incompatibilities between phobos and tango to a minimal set and are waiting for Walter to meet them there. To live up to his part of the bargain, to put it bluntly. A year later he still hasn't done so. But Walter drives development his own way. Walter himself has said that the only difference between himself (and D) and a lot of other replacements for C/C++ is that he's stayed with it longer than they have. And so Walter will listen and respond to criticism, new concepts, alternative implementations and frantic pleas, but, at the end of the day, he will work toward what he sees as the best solution to the most pressing problems. This is mostly a good thing -- Walter has a long-term vision for the D programming language and he is determined to see it through. Of course, this also has a downside. Work that doesn't advance the main line that he has mapped out doesn't get his attention, or his time. It's not that he's unwilling, but he's doing a lot of work on developing what he sees as more fundamental things. So I don't think it is likely that Walter will delay or disturb his current effort to get D 2.0 pushed out the door. And he's made it clear that he not interested in going back to "fix" D 1.0. But what I would really like to see (and I don't think it's asking too much) is a clear statement from Walter that he will indeed make the changes the Tango developers are asking for at some future date. I don't think he even needs to commit himself to a specific date, just a reference point -- when D 2.0 is final, or when the functional programming stuff is in place, or whenever. I think all that we really NEED at this point is assurance that the two groups are not working at cross purposes. If this has already happened, if there is some agreement in place that I just don't know about, then I apologize for this rant. But it seems like little enough to ask. Paul
May I ask why is this post called like that? Walter has just responded that he is ready to make the asked changes to the runtime, and is waiting for a permission from some Tango members to do this. We will see a resolution pretty soon, hopefully!
Aug 13 2008
prev sibling next sibling parent superdan <super dan.org> writes:
Paul D. Anderson Wrote:

 Robert Fraser Wrote:
 
 I see the D community heading for a split. One side will be D1 (hopefully a D
1.5) +tango, and the other side will be D2+phobos.  I don't think of this as a
bad thing nessescarily, just two different directions.
First, let me say that I have the highest regard, both personally and professionally, for Walter (and Andre and Bartosz and the others who are working on D 2.0) and also for the Tango development team. Both groups have a lot of talent and have worked hard to give us (at no cost!) a great language and a great library. The Tango developers have done important and valuable work, providing sturdy, efficient and rigorous implementations of many common software components. They have not only provided the Tango library, but they've also wrung out the language and pushed its capabilities to give us all a better picture of what is possible. (I'd love to see what they could do with the new features in D 2.0.) And they have been careful not to step on Walter's toes while they do this. They discussed the problem with Walter at the first D Language Conference and agreed on a solution: a common runtime module. They have narrowed the incompatibilities between phobos and tango to a minimal set and are waiting for Walter to meet them there. To live up to his part of the bargain, to put it bluntly. A year later he still hasn't done so. But Walter drives development his own way. Walter himself has said that the only difference between himself (and D) and a lot of other replacements for C/C++ is that he's stayed with it longer than they have. And so Walter will listen and respond to criticism, new concepts, alternative implementations and frantic pleas, but, at the end of the day, he will work toward what he sees as the best solution to the most pressing problems. This is mostly a good thing -- Walter has a long-term vision for the D programming language and he is determined to see it through. Of course, this also has a downside. Work that doesn't advance the main line that he has mapped out doesn't get his attention, or his time. It's not that he's unwilling, but he's doing a lot of work on developing what he sees as more fundamental things. So I don't think it is likely that Walter will delay or disturb his current effort to get D 2.0 pushed out the door. And he's made it clear that he not interested in going back to "fix" D 1.0. But what I would really like to see (and I don't think it's asking too much) is a clear statement from Walter that he will indeed make the changes the Tango developers are asking for at some future date. I don't think he even needs to commit himself to a specific date, just a reference point -- when D 2.0 is final, or when the functional programming stuff is in place, or whenever. I think all that we really NEED at this point is assurance that the two groups are not working at cross purposes. If this has already happened, if there is some agreement in place that I just don't know about, then I apologize for this rant. But it seems like little enough to ask. Paul
bet you wish you'd read earlier what walt wrote in this thread eh. i thought pretty much along the same lines. but in fact walt's statement is revealing. changes perspective on the issue 180 radians (joke!). looks like he wasn't the bad (or careless or uninterested or unfocused... whatever) dood afterall? he was just being discreet? i take it there's been talks and stuff and walt just didn't get permission to mess with tango's code? why? for how long has this been goin' on, walt? and why didn't you tell this earlier? whoa. this is an epic moment. like one of those twists in a whodunit. killer wasn't her, it was her sister!
Aug 13 2008
prev sibling next sibling parent reply Walter Bright <newshound1 digitalmars.com> writes:
Paul D. Anderson wrote:
 But what I
 would really like to see (and I don't think it's asking too much) is
 a clear statement from Walter that he will indeed make the changes
 the Tango developers are asking for at some future date.
In order for this to happen, I need a clear and unambiguous statement from the Tango developers that Phobos can incorporate parts of the Tango runtime and place them under the Phobos license. I have already provided a reciprocal license to Tango. I've asked for that for over a year, and so far only Sean and Don have done so. Such an agreement is necessary for the following reasons: 1. To ensure Phobos is free of any legal taint and any accusations of stealing code. 2. To avoid the untenable issue of a single module in Phobos having different license for different lines of code. I have explained this to the main Tango developers on multiple occasions. It is their right and privilege to license Tango as they see fit, and I respect that and so have not spoken out on it before. But in this thread I am being cast as a roadblock, which I feel is a little unfair, so I will loosen my tongue and speak up a bit :-)
Aug 13 2008
next sibling parent reply Paul D. Anderson <paul.d.removethis.anderson comcast.andthis.net> writes:
Walter Bright Wrote:

 Paul D. Anderson wrote:
 But what I
 would really like to see (and I don't think it's asking too much) is
 a clear statement from Walter that he will indeed make the changes
 the Tango developers are asking for at some future date.
In order for this to happen, I need a clear and unambiguous statement from the Tango developers that Phobos can incorporate parts of the Tango runtime and place them under the Phobos license. I have already provided a reciprocal license to Tango. I've asked for that for over a year, and so far only Sean and Don have done so. Such an agreement is necessary for the following reasons: 1. To ensure Phobos is free of any legal taint and any accusations of stealing code. 2. To avoid the untenable issue of a single module in Phobos having different license for different lines of code. I have explained this to the main Tango developers on multiple occasions. It is their right and privilege to license Tango as they see fit, and I respect that and so have not spoken out on it before. But in this thread I am being cast as a roadblock, which I feel is a little unfair, so I will loosen my tongue and speak up a bit :-)
Thanks for clarifying this, and I apologize, Walter, and reiterate my appreciation for what you do. But I was expressing my frustration at what I thought the situation was. If there was discussion about licensing issues I missed it. (I missed your earlier post in this thread because I was busy "composing" my tirade.) From my point of view this puts the ball squarely back in Tango's court. Is there a fundamental problem here? Can we move forward? Paul
Aug 13 2008
next sibling parent reply Walter Bright <newshound1 digitalmars.com> writes:
Paul D. Anderson wrote:
 Thanks for clarifying this, and I apologize, Walter, and reiterate my
 appreciation for what you do. But I was expressing my frustration at
 what I thought the situation was. If there was discussion about
 licensing issues I missed it. (I missed your earlier post in this
 thread because I was busy "composing" my tirade.)
 
 From my point of view this puts the ball squarely back in Tango's
 court. Is there a fundamental problem here? Can we move forward?
I have not spoken out on it before out of respect for the Tango developers' right to license Tango as they see fit. These discussions have been done via email, not on a public forum. I know that not all of the Tango developers were involved with it, as quite a diverse group has worked on Tango, and I apologize for that. But it is clearly time to bring this out into the open.
Aug 13 2008
next sibling parent BCS <ao pathlink.com> writes:
Reply to Walter,

 Paul D. Anderson wrote:
 
 Thanks for clarifying this, and I apologize, Walter, and reiterate my
 appreciation for what you do. But I was expressing my frustration at
 what I thought the situation was. If there was discussion about
 licensing issues I missed it. (I missed your earlier post in this
 thread because I was busy "composing" my tirade.)
 
 From my point of view this puts the ball squarely back in Tango's
 court. Is there a fundamental problem here? Can we move forward?
 
I have not spoken out on it before out of respect for the Tango developers' right to license Tango as they see fit. These discussions have been done via email, not on a public forum. I know that not all of the Tango developers were involved with it, as quite a diverse group has worked on Tango, and I apologize for that. But it is clearly time to bring this out into the open.
If nothing else it will notify everyone who needs to do something to make it work.
Aug 13 2008
prev sibling next sibling parent Nick B <nick.barbalich gmail.com> writes:
Walter Bright wrote:
 Paul D. Anderson wrote:
 Thanks for clarifying this, and I apologize, Walter, and reiterate my
 appreciation for what you do. But I was expressing my frustration at
 what I thought the situation was. If there was discussion about
 licensing issues I missed it. (I missed your earlier post in this
 thread because I was busy "composing" my tirade.)

 From my point of view this puts the ball squarely back in Tango's
 court. Is there a fundamental problem here? Can we move forward?
I have not spoken out on it before out of respect for the Tango developers' right to license Tango as they see fit. These discussions have been done via email, not on a public forum. I know that not all of the Tango developers were involved with it, as quite a diverse group has worked on Tango, and I apologize for that. But it is clearly time to bring this out into the open.
Walter Thank you for bring these private discussions into the open. Nick B.
Aug 14 2008
prev sibling next sibling parent reply Sean Kelly <sean invisibleduck.org> writes:
Walter Bright wrote:
 Paul D. Anderson wrote:
 Thanks for clarifying this, and I apologize, Walter, and reiterate my
 appreciation for what you do. But I was expressing my frustration at
 what I thought the situation was. If there was discussion about
 licensing issues I missed it. (I missed your earlier post in this
 thread because I was busy "composing" my tirade.)

 From my point of view this puts the ball squarely back in Tango's
 court. Is there a fundamental problem here? Can we move forward?
I have not spoken out on it before out of respect for the Tango developers' right to license Tango as they see fit. These discussions have been done via email, not on a public forum. I know that not all of the Tango developers were involved with it, as quite a diverse group has worked on Tango, and I apologize for that. But it is clearly time to bring this out into the open.
I don't want to speak for others, but I believe that the issue with opening up the license for Tango concerns the user code, not the runtime. The initial request was for rights to all of Tango. Sean
Aug 14 2008
parent "Denis Koroskin" <2korden gmail.com> writes:
On Thu, 14 Aug 2008 22:15:50 +0400, Sean Kelly <sean invisibleduck.org>  
wrote:

 Walter Bright wrote:
 Paul D. Anderson wrote:
 Thanks for clarifying this, and I apologize, Walter, and reiterate my
 appreciation for what you do. But I was expressing my frustration at
 what I thought the situation was. If there was discussion about
 licensing issues I missed it. (I missed your earlier post in this
 thread because I was busy "composing" my tirade.)

 From my point of view this puts the ball squarely back in Tango's
 court. Is there a fundamental problem here? Can we move forward?
I have not spoken out on it before out of respect for the Tango developers' right to license Tango as they see fit. These discussions have been done via email, not on a public forum. I know that not all of the Tango developers were involved with it, as quite a diverse group has worked on Tango, and I apologize for that. But it is clearly time to bring this out into the open.
I don't want to speak for others, but I believe that the issue with opening up the license for Tango concerns the user code, not the runtime. The initial request was for rights to all of Tango. Sean
That's a merger - a process so many people are waiting for!
Aug 14 2008
prev sibling parent Bruno Medeiros <brunodomedeiros+spam com.gmail> writes:
Walter Bright wrote:
 Paul D. Anderson wrote:
 Thanks for clarifying this, and I apologize, Walter, and reiterate my
 appreciation for what you do. But I was expressing my frustration at
 what I thought the situation was. If there was discussion about
 licensing issues I missed it. (I missed your earlier post in this
 thread because I was busy "composing" my tirade.)

 From my point of view this puts the ball squarely back in Tango's
 court. Is there a fundamental problem here? Can we move forward?
I have not spoken out on it before out of respect for the Tango developers' right to license Tango as they see fit. These discussions have been done via email, not on a public forum. I know that not all of the Tango developers were involved with it, as quite a diverse group has worked on Tango, and I apologize for that. But it is clearly time to bring this out into the open.
Thanks for bringing it out, at least it helps us "observers" have a better picture of why the current status quo. And indeed I was thinking that the ball was almost entirely in your court. ~~' -- Bruno Medeiros - Software Developer, MSc. in CS/E graduate http://www.prowiki.org/wiki4d/wiki.cgi?BrunoMedeiros#D
Aug 15 2008
prev sibling parent reply lurker <lurker lurk.com> writes:
Paul D. Anderson Wrote:

 Walter Bright Wrote:
 
 Paul D. Anderson wrote:
 But what I
 would really like to see (and I don't think it's asking too much) is
 a clear statement from Walter that he will indeed make the changes
 the Tango developers are asking for at some future date.
In order for this to happen, I need a clear and unambiguous statement from the Tango developers that Phobos can incorporate parts of the Tango runtime and place them under the Phobos license. I have already provided a reciprocal license to Tango. I've asked for that for over a year, and so far only Sean and Don have done so. Such an agreement is necessary for the following reasons: 1. To ensure Phobos is free of any legal taint and any accusations of stealing code. 2. To avoid the untenable issue of a single module in Phobos having different license for different lines of code. I have explained this to the main Tango developers on multiple occasions. It is their right and privilege to license Tango as they see fit, and I respect that and so have not spoken out on it before. But in this thread I am being cast as a roadblock, which I feel is a little unfair, so I will loosen my tongue and speak up a bit :-)
Thanks for clarifying this, and I apologize, Walter, and reiterate my appreciation for what you do. But I was expressing my frustration at what I thought the situation was. If there was discussion about licensing issues I missed it. (I missed your earlier post in this thread because I was busy "composing" my tirade.) From my point of view this puts the ball squarely back in Tango's court. Is there a fundamental problem here? Can we move forward? Paul
Hullo, Thats not happening now or recently. The ball its been rotting in Tango's court for one year plus. This is huge. I might need a couple days to process this information. Naming names is scary but, ..... is Walter saying Kris and Lars "MI Is Evil" Igesund deliberately prevented unification progress? One thing for sure. assert(cat !in bag); -Lurker
Aug 13 2008
parent reply Christopher Wright <dhasenan gmail.com> writes:
lurker wrote:
 Hullo,
 
 Thats not happening now or recently. The ball its been rotting in Tango's
court for one year plus. This is huge. I might need a couple days to process
this information. Naming names is scary but, ..... is Walter saying Kris and
Lars "MI Is Evil" Igesund deliberately prevented unification progress?
 
 One thing for sure. 
 
 assert(cat !in bag);
 
 -Lurker
Dozens of people have worked on Tango. Tracking who owns the code is nontrivial, as is contacting some of them. It might be impossible to get a license change cleared. Of course, if Walter replaced the Phobos runtime entirely with Tango's, that might not be an issue. But it would involve using the BSD license for those parts.
Aug 13 2008
next sibling parent reply Walter Bright <newshound1 digitalmars.com> writes:
Christopher Wright wrote:
 Dozens of people have worked on Tango. Tracking who owns the code is 
 nontrivial, as is contacting some of them. It might be impossible to get 
 a license change cleared.
I understand that. But my understanding (I am not a lawyer) of copyright law is that a couple of lines of code are not copyrightable. But major contributors to Tango should be reachable.
Aug 13 2008
parent reply "Chris R. Miller" <lordSaurontheGreat gmail.com> writes:
Walter Bright wrote:
 Christopher Wright wrote:
 Dozens of people have worked on Tango. Tracking who owns the code is
 nontrivial, as is contacting some of them. It might be impossible to
 get a license change cleared.
=20 I understand that. But my understanding (I am not a lawyer) of copyrigh=
t
 law is that a couple of lines of code are not copyrightable. But major
 contributors to Tango should be reachable.
I too am not a lawyer, but I was under the impression that contributions to Tango are still property of Tango and subject to the global Tango license. Maybe someone should ask a lawyer... there's a good radio phone-a-lawyer guy in my area I could call.
Aug 13 2008
parent reply Sean Reque <seanthenewt yahoo.com> writes:
Chris R. Miller Wrote:

 Walter Bright wrote:
 Christopher Wright wrote:
 Dozens of people have worked on Tango. Tracking who owns the code is
 nontrivial, as is contacting some of them. It might be impossible to
 get a license change cleared.
I understand that. But my understanding (I am not a lawyer) of copyright law is that a couple of lines of code are not copyrightable. But major contributors to Tango should be reachable.
I too am not a lawyer, but I was under the impression that contributions to Tango are still property of Tango and subject to the global Tango license. Maybe someone should ask a lawyer... there's a good radio phone-a-lawyer guy in my area I could call.
There could be cause for concern. This is from http://www.sqlite.org/copyright.html """ Contributed Code In order to keep SQLite completely free and unencumbered by copyright, all new contributors to the SQLite code base are asked to dedicate their contributions to the public domain. If you want to send a patch or enhancement for possible inclusion in the SQLite source tree, please accompany the patch with the following statement: The author or authors of this code dedicate any and all copyright interest in this code to the public domain. We make this dedication for the benefit of the public at large and to the detriment of our heirs and successors. We intend this dedication to be an overt act of relinquishment in perpetuity of all present and future rights to this code under copyright law. We are not able to accept patches or changes to SQLite that are not accompanied by a statement such as the above. In addition, if you make changes or enhancements as an employee, then a simple statement such as the above is insufficient. You must also send by surface mail a copyright release signed by a company officer. A signed original of the copyright release should be mailed to: """
Aug 13 2008
parent reply Brad Roberts <braddr bellevue.puremagic.com> writes:
On Wed, 13 Aug 2008, Sean Reque wrote:

 Chris R. Miller Wrote:
 
 Walter Bright wrote:
 Christopher Wright wrote:
 Dozens of people have worked on Tango. Tracking who owns the code is
 nontrivial, as is contacting some of them. It might be impossible to
 get a license change cleared.
I understand that. But my understanding (I am not a lawyer) of copyright law is that a couple of lines of code are not copyrightable. But major contributors to Tango should be reachable.
I too am not a lawyer, but I was under the impression that contributions to Tango are still property of Tango and subject to the global Tango license. Maybe someone should ask a lawyer... there's a good radio phone-a-lawyer guy in my area I could call.
There could be cause for concern. This is from http://www.sqlite.org/copyright.html """ Contributed Code In order to keep SQLite completely free and unencumbered by copyright, all new contributors to the SQLite code base are asked to dedicate their contributions to the public domain. If you want to send a patch or enhancement for possible inclusion in the SQLite source tree, please accompany the patch with the following statement: The author or authors of this code dedicate any and all copyright interest in this code to the public domain. We make this dedication for the benefit of the public at large and to the detriment of our heirs and successors. We intend this dedication to be an overt act of relinquishment in perpetuity of all present and future rights to this code under copyright law. We are not able to accept patches or changes to SQLite that are not accompanied by a statement such as the above. In addition, if you make changes or enhancements as an employee, then a simple statement such as the above is insufficient. You must also send by surface mail a copyright release signed by a company officer. A signed original of the copyright release should be mailed to: """
The number of people that have touched the runtime layer of Tango is very limited. The upper layers are of no concern for this thread. Later, Brad
Aug 13 2008
next sibling parent reply "Chris R. Miller" <lordSaurontheGreat gmail.com> writes:
Brad Roberts wrote:
 On Wed, 13 Aug 2008, Sean Reque wrote:
=20
 Chris R. Miller Wrote:

 Walter Bright wrote:
 Christopher Wright wrote:
 Dozens of people have worked on Tango. Tracking who owns the code i=
s
 nontrivial, as is contacting some of them. It might be impossible t=
o
 get a license change cleared.
I understand that. But my understanding (I am not a lawyer) of copyr=
ight
 law is that a couple of lines of code are not copyrightable. But maj=
or
 contributors to Tango should be reachable.
I too am not a lawyer, but I was under the impression that contributi=
ons
 to Tango are still property of Tango and subject to the global Tango
 license.

 Maybe someone should ask a lawyer...  there's a good radio
 phone-a-lawyer guy in my area I could call.
There could be cause for concern. This is from http://www.sqlite.org/c=
opyright.html
 """
 Contributed Code

 In order to keep SQLite completely free and unencumbered by copyright,=
all new contributors to the SQLite code base are asked to dedicate their= contributions to the public domain. If you want to send a patch or enhan= cement for possible inclusion in the SQLite source tree, please accompany= the patch with the following statement:
     The author or authors of this code dedicate any and all copyright =
interest in this code to the public domain. We make this dedication for t= he benefit of the public at large and to the detriment of our heirs and s= uccessors. We intend this dedication to be an overt act of relinquishment= in perpetuity of all present and future rights to this code under copyri= ght law.=20
 We are not able to accept patches or changes to SQLite that are not ac=
companied by a statement such as the above. In addition, if you make chan= ges or enhancements as an employee, then a simple statement such as the a= bove is insufficient. You must also send by surface mail a copyright rele= ase signed by a company officer. A signed original of the copyright relea= se should be mailed to:
 """
=20 The number of people that have touched the runtime layer of Tango is ve=
ry=20
 limited.  The upper layers are of no concern for this thread.
Well why not try to establish a precedent for all of Tango? Tango is dual licensed Academic Free and BSD. So long as Walter + friends include a notice in the Readme file, it's completely legal for him to use any or ALL of Tango. That's a reality, since it's common practice to consider a note in the readme fulfillment of the BSD attribution clause. Most popular video games do this to legally use the ZLib compression libraries. As for the Sqlite disclaimer, I would think that's just an insurance. Plenty of other organizations don't do that. I've been on the Linux Kernel Janitor's list for two years now, and none of the patches that actually go into the Holy Kernel Itself are ever "protected" by any such disclaimer from the contributors. I would argue that by contributing to Tango/LKJ/Sqlite/OSS you are implicitly stating that you're /giving/ that code to the organization. No strings attached, released under the organization's license. Just my $0.02. IANAL, but from all I've observed, that is the way things work (if not legally, then in a de facto way).
Aug 13 2008
parent reply Lars Ivar Igesund <larsivar igesund.net> writes:
Chris R. Miller wrote:

 Brad Roberts wrote:
 On Wed, 13 Aug 2008, Sean Reque wrote:
 
 Chris R. Miller Wrote:

 Walter Bright wrote:
 Christopher Wright wrote:
 Dozens of people have worked on Tango. Tracking who owns the code is
 nontrivial, as is contacting some of them. It might be impossible to
 get a license change cleared.
I understand that. But my understanding (I am not a lawyer) of copyright law is that a couple of lines of code are not copyrightable. But major contributors to Tango should be reachable.
I too am not a lawyer, but I was under the impression that contributions to Tango are still property of Tango and subject to the global Tango license. Maybe someone should ask a lawyer... there's a good radio phone-a-lawyer guy in my area I could call.
There could be cause for concern. This is from http://www.sqlite.org/copyright.html """ Contributed Code In order to keep SQLite completely free and unencumbered by copyright, all new contributors to the SQLite code base are asked to dedicate their contributions to the public domain. If you want to send a patch or enhancement for possible inclusion in the SQLite source tree, please accompany the patch with the following statement: The author or authors of this code dedicate any and all copyright interest in this code to the public domain. We make this dedication for the benefit of the public at large and to the detriment of our heirs and successors. We intend this dedication to be an overt act of relinquishment in perpetuity of all present and future rights to this code under copyright law. We are not able to accept patches or changes to SQLite that are not accompanied by a statement such as the above. In addition, if you make changes or enhancements as an employee, then a simple statement such as the above is insufficient. You must also send by surface mail a copyright release signed by a company officer. A signed original of the copyright release should be mailed to: """
The number of people that have touched the runtime layer of Tango is very limited. The upper layers are of no concern for this thread.
Well why not try to establish a precedent for all of Tango? Tango is dual licensed Academic Free and BSD. So long as Walter + friends include a notice in the Readme file, it's completely legal for him to use any or ALL of Tango. That's a reality, since it's common practice to consider a note in the readme fulfillment of the BSD attribution clause. Most popular video games do this to legally use the ZLib compression libraries. As for the Sqlite disclaimer, I would think that's just an insurance. Plenty of other organizations don't do that. I've been on the Linux Kernel Janitor's list for two years now, and none of the patches that actually go into the Holy Kernel Itself are ever "protected" by any such disclaimer from the contributors. I would argue that by contributing to Tango/LKJ/Sqlite/OSS you are implicitly stating that you're /giving/ that code to the organization. No strings attached, released under the organization's license.
Tango as a project don't have copyright. It is kept by the individual contributors. -- Lars Ivar Igesund blog at http://larsivi.net DSource, #d.tango & #D: larsivi Dancing the Tango
Aug 14 2008
parent reply Yigal Chripun <yigal100 gmail.com> writes:
Lars Ivar Igesund wrote:
 
 Tango as a project don't have copyright. It is kept by the individual
 contributors.
 
wouldn't it be better that Tango as a project would own the copyright for all the code? In case that the project wants to change the license or give someone specific permission to the code base (like Walter asks for) that would be easier to accomplish by the Tango's maintainers. in the current state of affairs you need to contact each contributer and get his personal approval. Linux has the same policy and thus if Linus wants to move from GPLv2 to v3 he can't since he needs approval of all the thousands of contributers to the Linux kernel, some of which are dead. This is why all the GNU code is assigned to the FSF and without your agreement to transfer your copyrights to the FSF they won't accept your code. This is also standard practice in almost all OSS projects (with Linux a notable exception as described above). Of course, the sooner such a move is decided upon the easier it'll be to accomplish. Linux, for example, cannot change the license without talking to the dead or reimplementing parts of the code.
Aug 14 2008
next sibling parent Thomas Brix Larsen <brix brix-verden.dk> writes:
Yigal Chripun wrote:

 Lars Ivar Igesund wrote:
 
 Tango as a project don't have copyright. It is kept by the individual
 contributors.
 
wouldn't it be better that Tango as a project would own the copyright for all the code? In case that the project wants to change the license or give someone specific permission to the code base (like Walter asks for) that would be easier to accomplish by the Tango's maintainers. in the current state of affairs you need to contact each contributer and get his personal approval. Linux has the same policy and thus if Linus wants to move from GPLv2 to v3 he can't since he needs approval of all the thousands of contributers to the Linux kernel, some of which are dead. This is why all the GNU code is assigned to the FSF and without your agreement to transfer your copyrights to the FSF they won't accept your code. This is also standard practice in almost all OSS projects (with Linux a notable exception as described above).
I'm not so sure about that. KDE and Wine atleast isn't copyrighted by their project foundations, but by their contributors, just like Linux.
 Of course, the sooner such a move is decided upon the easier it'll be to
 accomplish. Linux, for example, cannot change the license without
 talking to the dead or reimplementing parts of the code.
Aug 14 2008
prev sibling next sibling parent reply Lars Ivar Igesund <larsivar igesund.net> writes:
Yigal Chripun wrote:

 Lars Ivar Igesund wrote:
 
 Tango as a project don't have copyright. It is kept by the individual
 contributors.
 
wouldn't it be better that Tango as a project would own the copyright for all the code?
At the very least you need some body (foundation, company) for that. -- Lars Ivar Igesund blog at http://larsivi.net DSource, #d.tango & #D: larsivi Dancing the Tango
Aug 14 2008
parent Yigal Chripun <yigal100 gmail.com> writes:
Lars Ivar Igesund wrote:
 Yigal Chripun wrote:
 
 Lars Ivar Igesund wrote:
 Tango as a project don't have copyright. It is kept by the individual
 contributors.
wouldn't it be better that Tango as a project would own the copyright for all the code?
At the very least you need some body (foundation, company) for that.
Of course and I'm sure it's a hassle to create one. but it is better to have such a body in the long term in order to facilitate the growth of the community, I think.
Aug 14 2008
prev sibling parent Sean Kelly <sean invisibleduck.org> writes:
Yigal Chripun wrote:
 Lars Ivar Igesund wrote:
 Tango as a project don't have copyright. It is kept by the individual
 contributors.
wouldn't it be better that Tango as a project would own the copyright for all the code? In case that the project wants to change the license or give someone specific permission to the code base (like Walter asks for) that would be easier to accomplish by the Tango's maintainers. in the current state of affairs you need to contact each contributer and get his personal approval.
Although the contributors retain copyright to their contributions they still must agree to place their code under the Tango license. This has never been an issue for us in the past, but then no one has ever asked us to change our license before :-)
 Linux has the same policy and thus if Linus wants to move from GPLv2 to
 v3 he can't since he needs approval of all the thousands of contributers
 to the Linux kernel, some of which are dead.
It's a good point, though the current Tango license is so loose that I don't foresee us ever needing to change it. All the artistic license requires is basically that the author information not be removed from the source code. That's as close to Public Domain as you can get without actually being Public Domain.
 Of course, the sooner such a move is decided upon the easier it'll be to
 accomplish. Linux, for example, cannot change the license without
 talking to the dead or reimplementing parts of the code.
Definitely. Sean
Aug 14 2008
prev sibling parent reply Sean Kelly <sean invisibleduck.org> writes:
Brad Roberts wrote:
 On Wed, 13 Aug 2008, Sean Reque wrote:
 
 Chris R. Miller Wrote:

 Walter Bright wrote:
 Christopher Wright wrote:
 Dozens of people have worked on Tango. Tracking who owns the code is
 nontrivial, as is contacting some of them. It might be impossible to
 get a license change cleared.
I understand that. But my understanding (I am not a lawyer) of copyright law is that a couple of lines of code are not copyrightable. But major contributors to Tango should be reachable.
I too am not a lawyer, but I was under the impression that contributions to Tango are still property of Tango and subject to the global Tango license. Maybe someone should ask a lawyer... there's a good radio phone-a-lawyer guy in my area I could call.
There could be cause for concern. This is from http://www.sqlite.org/copyright.html """ Contributed Code In order to keep SQLite completely free and unencumbered by copyright, all new contributors to the SQLite code base are asked to dedicate their contributions to the public domain. If you want to send a patch or enhancement for possible inclusion in the SQLite source tree, please accompany the patch with the following statement: The author or authors of this code dedicate any and all copyright interest in this code to the public domain. We make this dedication for the benefit of the public at large and to the detriment of our heirs and successors. We intend this dedication to be an overt act of relinquishment in perpetuity of all present and future rights to this code under copyright law. We are not able to accept patches or changes to SQLite that are not accompanied by a statement such as the above. In addition, if you make changes or enhancements as an employee, then a simple statement such as the above is insufficient. You must also send by surface mail a copyright release signed by a company officer. A signed original of the copyright release should be mailed to: """
The number of people that have touched the runtime layer of Tango is very limited. The upper layers are of no concern for this thread.
So limited, in fact, that the two Tango members who have not given permission to use their code have never actually touched the runtime. I'm very diligent about the "author" labels in the runtime modules, so this is easy to see. However, the problem is that there is no way to prove this to Walter, and he refuses to even look at Tango without permission from all of us for fear of "taint." Thus the impasse. Given Walter's experience with copyright issues I think his caution is certainly well-founded, but it does make things somewhat difficult if all of the contributors to Tango as a whole either can not or will not make their contributions Public Domain for use by Phobos. To be honest, I would even much rather have stuck with an artistic license at least for my portion, but what can you do. Fortunately, I trust that Walter isn't going to start trying to sell my code to companies and claim it's his own (my only real issue with the Public Domain license to begin with). Sean
Aug 14 2008
parent reply "Steven Schveighoffer" <schveiguy yahoo.com> writes:
"Sean Kelly" wrote
 The number of people that have touched the runtime layer of Tango is very 
 limited.  The upper layers are of no concern for this thread.
So limited, in fact, that the two Tango members who have not given permission to use their code have never actually touched the runtime. I'm very diligent about the "author" labels in the runtime modules, so this is easy to see. However, the problem is that there is no way to prove this to Walter, and he refuses to even look at Tango without permission from all of us for fear of "taint." Thus the impasse.
Eh? As far as I know, if you don't put your name on it, you don't own it. If I copyright something by putting a copyright notice on it after I release it, it doesn't magically copyright all the previously released versions that didn't have that copyright notice. *Especially* if there is an existing copyright notice in the file attributed to someone else, and the file is in the project that I am contributing to! This should be a non-issue. How could you ever "prove" this to anyone without videotaping them typing in the code? I respect that certain Tango authors do not want to have their code imported into Phobos, but that should not be a blocker if their code isn't in question. And even if contributors do not want their code in Phobos, too bad so sad. They agreed to license their code under the BSD license, and that means anyone can use the code for any reason as long as the original authors get credit.
 Given Walter's experience with copyright issues I think his caution is 
 certainly well-founded, but it does make things somewhat difficult if all 
 of the contributors to Tango as a whole either can not or will not make 
 their contributions Public Domain for use by Phobos.
I think his caution is a little too overzealous (if this is the reason). The whole point of an open-source license is code reuse. Phobos has an open source license. Tango has an open source license. Where is the conflict? -Steve
Aug 14 2008
parent reply Lars Ivar Igesund <larsivar igesund.net> writes:
Steven Schveighoffer wrote:

 "Sean Kelly" wrote
 The number of people that have touched the runtime layer of Tango is
 very
 limited.  The upper layers are of no concern for this thread.
So limited, in fact, that the two Tango members who have not given permission to use their code have never actually touched the runtime. I'm very diligent about the "author" labels in the runtime modules, so this is easy to see. However, the problem is that there is no way to prove this to Walter, and he refuses to even look at Tango without permission from all of us for fear of "taint." Thus the impasse.
Eh? As far as I know, if you don't put your name on it, you don't own it.
In many (most) countries, writing it means you have copyright. Whether you put your name there or not is irrelevant. Some have even stronger protection of the connection between code/work and author. -- Lars Ivar Igesund blog at http://larsivi.net DSource, #d.tango & #D: larsivi Dancing the Tango
Aug 14 2008
parent reply "Steven Schveighoffer" <schveiguy yahoo.com> writes:
"Lars Ivar Igesund" wrote
 Steven Schveighoffer wrote:

 "Sean Kelly" wrote
 The number of people that have touched the runtime layer of Tango is
 very
 limited.  The upper layers are of no concern for this thread.
So limited, in fact, that the two Tango members who have not given permission to use their code have never actually touched the runtime. I'm very diligent about the "author" labels in the runtime modules, so this is easy to see. However, the problem is that there is no way to prove this to Walter, and he refuses to even look at Tango without permission from all of us for fear of "taint." Thus the impasse.
Eh? As far as I know, if you don't put your name on it, you don't own it.
In many (most) countries, writing it means you have copyright. Whether you put your name there or not is irrelevant. Some have even stronger protection of the connection between code/work and author.
I would think that only comes into play if someone else publishes the code after stealing it from you. If you release it with someone else's name as the copyright holder, I don't see how you can prove your rights. It shouldn't be hard to prove who contributed what since all the history is in svn. To this end, even if Walter DID get permission from all the Tango devs, this does not preclude the possibility that someone else's code (not even from Tango) was stolen and contributed to Tango. There is no way to be 100% sure, so this whole issue is rather petty to me. But wouldn't it be enough for all the Tango devs (who didn't write the runtime) to put that in a signed statement? I can't see how releasing *all* of Tango in PD (or even the runtime, for that matter, but that's up to the devs of the runtime) makes it any more valid. -Steve
Aug 14 2008
parent reply Walter Bright <newshound1 digitalmars.com> writes:
Steven Schveighoffer wrote:
 To this end, even if Walter DID get permission from all the Tango devs, this 
 does not preclude the possibility that someone else's code (not even from 
 Tango) was stolen and contributed to Tango.  There is no way to be 100% 
 sure, so this whole issue is rather petty to me.
That would not be good, but at least I would have taken reasonable steps and that's all that could be expected. In my experience with legal cases, taking reasonable steps carries the day. Frankly, the whole economy would collapse if you could not take a signed statement at face value.
 But wouldn't it be enough for all the Tango devs (who didn't write the 
 runtime) to put that in a signed statement?  I can't see how releasing *all* 
 of Tango in PD (or even the runtime, for that matter, but that's up to the 
 devs of the runtime) makes it any more valid.
Sean has emailed me an archive of the code that he owns the rights to. I believe this is probably sufficient to get compatibility, in which case that is plenty good enough.
Aug 14 2008
parent reply Jason House <jason.james.house gmail.com> writes:
Walter Bright Wrote:
 
 Sean has emailed me an archive of the code that he owns the rights to. I 
   believe this is probably sufficient to get compatibility, in which 
 case that is plenty good enough.
I'd hate for this thread to end with an apparent resolution only to flair up after another year of no progress. What are the next steps? I assume it'll take a few months to fully integrate the two code bases, but we should be able to know sooner than that if what Sean sent you want enough to integrate the runtimes or not. I assume that the risk of legal taint will prevent you from doing a combined release of dmd v1.x, common runtime, phobos, and tango? Even without that, I assume releasing Tango with the dmd compiler may hamper the overall release process. Even so, once there's a common runtime, it'd be nice if we could have a combined releases of dmd+phobos+tango. If a community member provided a combo release (probably following a Tango release), would you put it up as a downloadable item on the digital mars site?
Aug 15 2008
next sibling parent Sean Kelly <sean invisibleduck.org> writes:
Jason House wrote:
 Walter Bright Wrote:
  
 Sean has emailed me an archive of the code that he owns the rights to. I 
   believe this is probably sufficient to get compatibility, in which 
 case that is plenty good enough.
I'd hate for this thread to end with an apparent resolution only to flair up after another year of no progress. What are the next steps? I assume it'll take a few months to fully integrate the two code bases, but we should be able to know sooner than that if what Sean sent you want enough to integrate the runtimes or not. I assume that the risk of legal taint will prevent you from doing a combined release of dmd v1.x, common runtime, phobos, and tango? Even without that, I assume releasing Tango with the dmd compiler may hamper the overall release process. Even so, once there's a common runtime, it'd be nice if we could have a combined releases of dmd+phobos+tango. If a community member provided a combo release (probably following a Tango release), would you put it up as a downloadable item on the digital mars site?
The Tango team has provided such a release for quite a while now. It's the binary release with Tangobos bundled, and includes the latest DMD, Tango, and Phobos (as Tangobos) all in a single package. We could even produce a nightly binary snapshot bundle if anyone cared... right now we're just producing a plain old Tango binary snapshot. Sean
Aug 15 2008
prev sibling parent reply Lars Ivar Igesund <larsivar igesund.net> writes:
Jason House wrote:

 Walter Bright Wrote:
  
 Sean has emailed me an archive of the code that he owns the rights to. I
   believe this is probably sufficient to get compatibility, in which
 case that is plenty good enough.
I'd hate for this thread to end with an apparent resolution only to flair up after another year of no progress. What are the next steps? I assume it'll take a few months to fully integrate the two code bases, but we should be able to know sooner than that if what Sean sent you want enough to integrate the runtimes or not. I assume that the risk of legal taint will prevent you from doing a combined release of dmd v1.x, common runtime, phobos, and tango? Even without that, I assume releasing Tango with the dmd compiler may hamper the overall release process. Even so, once there's a common runtime, it'd be nice if we could have a combined releases of dmd+phobos+tango. If a community member provided a combo release (probably following a Tango release), would you put it up as a downloadable item on the digital mars site?
There are other compilers than DMD, so I (as the current Tango release manager) see no practical way to coordinate releases of Tango and DMD. Tango bundles latest stable DMD when it is released, and if Tango is ever bundled with DMD, I would assume that to work in the same manner. -- Lars Ivar Igesund blog at http://larsivi.net DSource, #d.tango & #D: larsivi Dancing the Tango
Aug 15 2008
parent reply Jason House <jason.james.house gmail.com> writes:
Lars Ivar Igesund Wrote:

 Jason House wrote:
 
 Even so, once there's a common runtime, it'd be nice if we could have a
 combined releases of dmd+phobos+tango.  If a community member provided a
 combo release (probably following a Tango release), would you put it up as
 a downloadable item on the digital mars site?
There are other compilers than DMD, so I (as the current Tango release manager) see no practical way to coordinate releases of Tango and
DMD.
 Tango bundles latest stable DMD when it is released, and if Tango is ever
 bundled with DMD, I would assume that to work in the same manner.
Yes, that's the way it is now, and it's not something I really expect to change except that the non-runtime phobos pieces would be left in. The key question hidden in my last paragraph is if Walter would treat the Tango bundles as a first-class release of dmd. That means including it for one-click download from the download page with appropriate markings. Maybe using the combined Tango release as the beta version and dmd+phobos as the alpha version? I'm not too sure, but I'd really love to see a commitment to a unified D standard library (even if it bleeding edge releases miss some parts of the standard library)
Aug 15 2008
parent Walter Bright <newshound1 digitalmars.com> writes:
Jason House wrote:
 The key question hidden in my last paragraph is if Walter would treat
 the Tango bundles as a first-class release of dmd.  That means
 including it for one-click download from the download page with
 appropriate markings.  Maybe using the combined Tango release as the
 beta version and dmd+phobos as the alpha version?  I'm not too sure,
 but I'd really love to see a commitment to a unified D standard
 library (even if it bleeding edge releases miss some parts of the
 standard library)
At the moment what we are planning to do with the runtime drop Sean provided us is to move towards core api compatibility. It's a good first step.
Aug 15 2008
prev sibling parent reply Sean Kelly <sean invisibleduck.org> writes:
Christopher Wright wrote:
 lurker wrote:
 Hullo,

 Thats not happening now or recently. The ball its been rotting in 
 Tango's court for one year plus. This is huge. I might need a couple 
 days to process this information. Naming names is scary but, ..... is 
 Walter saying Kris and Lars "MI Is Evil" Igesund deliberately 
 prevented unification progress?

 One thing for sure.
 assert(cat !in bag);

 -Lurker
Dozens of people have worked on Tango. Tracking who owns the code is nontrivial, as is contacting some of them. It might be impossible to get a license change cleared. Of course, if Walter replaced the Phobos runtime entirely with Tango's, that might not be an issue. But it would involve using the BSD license for those parts.
Tango is actually dual licensed under both the BSD and an artistic license. We had actually considered a public domain license before Tango was announced until it was pointed out (by Thomas Kuehne, I believe) that copyright laws in some countries don't allow public domain as an option and treat such code as if the owner had not licensed it at all. Then we considered the ZLib license because it doesn't require attribution like the BSD license, but there were objections for this being a nonstandard license. So we finally settled on a dual BSD and artistic license to allow Tango to be the most broadly usable. To address the second issue, I think the only practical solution is for Phobos to run on top of the Tango runtime, quite similar to the Tango / Tangobos bundle we already provide. But this is simply my opinion. Sean
Aug 14 2008
parent reply Lars Ivar Igesund <larsivar igesund.net> writes:
Sean Kelly wrote:

 Christopher Wright wrote:
 lurker wrote:
 Hullo,

 Thats not happening now or recently. The ball its been rotting in
 Tango's court for one year plus. This is huge. I might need a couple
 days to process this information. Naming names is scary but, ..... is
 Walter saying Kris and Lars "MI Is Evil" Igesund deliberately
 prevented unification progress?

 One thing for sure.
 assert(cat !in bag);

 -Lurker
Dozens of people have worked on Tango. Tracking who owns the code is nontrivial, as is contacting some of them. It might be impossible to get a license change cleared. Of course, if Walter replaced the Phobos runtime entirely with Tango's, that might not be an issue. But it would involve using the BSD license for those parts.
Tango is actually dual licensed under both the BSD and an artistic license. We had actually considered a public domain license before Tango was announced until it was pointed out (by Thomas Kuehne, I believe) that copyright laws in some countries don't allow public domain as an option and treat such code as if the owner had not licensed it at all. Then we considered the ZLib license because it doesn't require attribution like the BSD license, but there were objections for this being a nonstandard license. So we finally settled on a dual BSD and artistic license to allow Tango to be the most broadly usable.
Academic, not artistic ;) -- Lars Ivar Igesund blog at http://larsivi.net DSource, #d.tango & #D: larsivi Dancing the Tango
Aug 14 2008
parent Sean Kelly <sean invisibleduck.org> writes:
== Quote from Lars Ivar Igesund (larsivar igesund.net)'s article
 Sean Kelly wrote:
 Christopher Wright wrote:
 lurker wrote:
 Hullo,

 Thats not happening now or recently. The ball its been rotting in
 Tango's court for one year plus. This is huge. I might need a couple
 days to process this information. Naming names is scary but, ..... is
 Walter saying Kris and Lars "MI Is Evil" Igesund deliberately
 prevented unification progress?

 One thing for sure.
 assert(cat !in bag);

 -Lurker
Dozens of people have worked on Tango. Tracking who owns the code is nontrivial, as is contacting some of them. It might be impossible to get a license change cleared. Of course, if Walter replaced the Phobos runtime entirely with Tango's, that might not be an issue. But it would involve using the BSD license for those parts.
Tango is actually dual licensed under both the BSD and an artistic license. We had actually considered a public domain license before Tango was announced until it was pointed out (by Thomas Kuehne, I believe) that copyright laws in some countries don't allow public domain as an option and treat such code as if the owner had not licensed it at all. Then we considered the ZLib license because it doesn't require attribution like the BSD license, but there were objections for this being a nonstandard license. So we finally settled on a dual BSD and artistic license to allow Tango to be the most broadly usable.
Academic, not artistic ;)
Whatever, the difference is academic ;-) (I am on a roll with the bad jokes lately) Sean
Aug 14 2008
prev sibling next sibling parent Jason House <jason.james.house gmail.com> writes:
Walter Bright Wrote:

 Paul D. Anderson wrote:
 But what I
 would really like to see (and I don't think it's asking too much) is
 a clear statement from Walter that he will indeed make the changes
 the Tango developers are asking for at some future date.
In order for this to happen, I need a clear and unambiguous statement from the Tango developers that Phobos can incorporate parts of the Tango runtime and place them under the Phobos license. I have already provided a reciprocal license to Tango. I've asked for that for over a year, and so far only Sean and Don have done so. Such an agreement is necessary for the following reasons: 1. To ensure Phobos is free of any legal taint and any accusations of stealing code. 2. To avoid the untenable issue of a single module in Phobos having different license for different lines of code. I have explained this to the main Tango developers on multiple occasions. It is their right and privilege to license Tango as they see fit, and I respect that and so have not spoken out on it before. But in this thread I am being cast as a roadblock, which I feel is a little unfair, so I will loosen my tongue and speak up a bit :-)
I prefer a looser tongue as long as it remains polite. (I consider your posts in this thread to be polite)
Aug 13 2008
prev sibling next sibling parent reply Lars Ivar Igesund <larsivar igesund.net> writes:
Walter Bright wrote:

 Paul D. Anderson wrote:
 But what I
 would really like to see (and I don't think it's asking too much) is
 a clear statement from Walter that he will indeed make the changes
 the Tango developers are asking for at some future date.
In order for this to happen, I need a clear and unambiguous statement from the Tango developers that Phobos can incorporate parts of the Tango runtime and place them under the Phobos license. I have already provided a reciprocal license to Tango. I've asked for that for over a year, and so far only Sean and Don have done so. Such an agreement is necessary for the following reasons: 1. To ensure Phobos is free of any legal taint and any accusations of stealing code. 2. To avoid the untenable issue of a single module in Phobos having different license for different lines of code. I have explained this to the main Tango developers on multiple occasions. It is their right and privilege to license Tango as they see fit, and I respect that and so have not spoken out on it before. But in this thread I am being cast as a roadblock, which I feel is a little unfair, so I will loosen my tongue and speak up a bit :-)
And we have on equally many occasions told you that the code you need is available. :) -- Lars Ivar Igesund blog at http://larsivi.net DSource, #d.tango & #D: larsivi Dancing the Tango
Aug 14 2008
next sibling parent Helmut Leitner <leitner wikiservice.at> writes:
Lars Ivar Igesund wrote:
 Walter Bright wrote:
I have explained this to the main Tango developers on multiple
occasions. It is their right and privilege to license Tango as they see
fit, and I respect that and so have not spoken out on it before. But in
this thread I am being cast as a roadblock, which I feel is a little
unfair, so I will loosen my tongue and speak up a bit :-)
And we have on equally many occasions told you that the code you need is available. :)
As a peripheral observer I see this partly as a communication problem, which does not put blame on one side or the other (have neither the intention nor the information nor the position to do so) but this doesn't make the problem less serious, quite to the contrary. Primarily I understand Walter. In his position I would really hate to be confronted with individual code contributor's notions, so that the license problem can't be solved for all the affected code and once for all, with a calculable (not a linear) effort. Assuming to understand Walter's character a little, I would think that there are principles of efficiency involved, that are also at the basis of D'S language design that we appreciate, that are not negotiable. Helmut
Aug 14 2008
prev sibling parent reply Walter Bright <newshound1 digitalmars.com> writes:
Lars Ivar Igesund wrote:
 Walter Bright wrote:
 I have explained this to the main Tango developers on multiple
 occasions. It is their right and privilege to license Tango as they see
 fit, and I respect that and so have not spoken out on it before. But in
 this thread I am being cast as a roadblock, which I feel is a little
 unfair, so I will loosen my tongue and speak up a bit :-)
And we have on equally many occasions told you that the code you need is available. :)
I respectfully disagree. The Tango team has stopped short of providing a license to use the Tango code in Phobos with a reciprocal agreement that allows it to be distributed under the Phobos license. I also cannot accept something vague, it has to be explicit. I've dealt with lawyers many times, and spelling it out directly and explicitly avoids a lot of future potential problems. Furthermore, if Phobos has a wishy-washy legal pedigree, corporate lawyers will not buy off on allowing D to be used in their companies. This issue must be settled in advance of looking at Tango, not after the fact.
Aug 14 2008
next sibling parent reply Lars Ivar Igesund <larsivar igesund.net> writes:
Walter Bright wrote:

 Lars Ivar Igesund wrote:
 Walter Bright wrote:
 I have explained this to the main Tango developers on multiple
 occasions. It is their right and privilege to license Tango as they see
 fit, and I respect that and so have not spoken out on it before. But in
 this thread I am being cast as a roadblock, which I feel is a little
 unfair, so I will loosen my tongue and speak up a bit :-)
And we have on equally many occasions told you that the code you need is available. :)
I respectfully disagree. The Tango team has stopped short of providing a license to use the Tango code in Phobos with a reciprocal agreement that allows it to be distributed under the Phobos license. I also cannot accept something vague, it has to be explicit.
No, this is not correct. Neither me nor Kris (who have been the ones involved) have any sort of copyright on the runtime. Sean have, and he has given you this explicit agreemeent. As asserted elsewhere, and by others, the copyrights on the rest of Tango not pertaining to the runtime, is not of relevance. -- Lars Ivar Igesund blog at http://larsivi.net DSource, #d.tango & #D: larsivi Dancing the Tango
Aug 14 2008
next sibling parent superdan <super dan.org> writes:
Lars Ivar Igesund Wrote:

 Walter Bright wrote:
 
 Lars Ivar Igesund wrote:
 Walter Bright wrote:
 I have explained this to the main Tango developers on multiple
 occasions. It is their right and privilege to license Tango as they see
 fit, and I respect that and so have not spoken out on it before. But in
 this thread I am being cast as a roadblock, which I feel is a little
 unfair, so I will loosen my tongue and speak up a bit :-)
And we have on equally many occasions told you that the code you need is available. :)
I respectfully disagree. The Tango team has stopped short of providing a license to use the Tango code in Phobos with a reciprocal agreement that allows it to be distributed under the Phobos license. I also cannot accept something vague, it has to be explicit.
No, this is not correct. Neither me nor Kris (who have been the ones involved) have any sort of copyright on the runtime. Sean have, and he has given you this explicit agreemeent. As asserted elsewhere, and by others, the copyrights on the rest of Tango not pertaining to the runtime, is not of relevance.
cut the oxpoop. `is not of relevance' afforded you to say brad and walter are stealing code from tango. walter is effing right to be pissed. if anyone told me that i'd bury their effing nose in their face. why have you been stalling for a year, lars? time to come clean.
Aug 14 2008
prev sibling parent reply "Jarrett Billingsley" <kb3ctd2 yahoo.com> writes:
"Lars Ivar Igesund" <larsivar igesund.net> wrote in message 
news:g813qj$amf$2 digitalmars.com...
 Walter Bright wrote:

 Lars Ivar Igesund wrote:
 Walter Bright wrote:
 I have explained this to the main Tango developers on multiple
 occasions. It is their right and privilege to license Tango as they see
 fit, and I respect that and so have not spoken out on it before. But in
 this thread I am being cast as a roadblock, which I feel is a little
 unfair, so I will loosen my tongue and speak up a bit :-)
And we have on equally many occasions told you that the code you need is available. :)
I respectfully disagree. The Tango team has stopped short of providing a license to use the Tango code in Phobos with a reciprocal agreement that allows it to be distributed under the Phobos license. I also cannot accept something vague, it has to be explicit.
No, this is not correct. Neither me nor Kris (who have been the ones involved) have any sort of copyright on the runtime. Sean have, and he has given you this explicit agreemeent. As asserted elsewhere, and by others, the copyrights on the rest of Tango not pertaining to the runtime, is not of relevance.
Slightly OT, and directed at this whole situation: I just sit back and laugh. *This* is open-source software? *This* is the supposed "freedom" and "openness" that the whole movement is about? People bickering for a _year_ over minutiae of licenses which are supposed to promote free use? What have we accomplished?
Aug 14 2008
parent reply Yigal Chripun <yigal100 gmail.com> writes:
Jarrett Billingsley wrote:
 
 Slightly OT, and directed at this whole situation: I just sit back and 
 laugh.  *This* is open-source software?  *This* is the supposed "freedom" 
 and "openness" that the whole movement is about?  People bickering for a 
 _year_ over minutiae of licenses which are supposed to promote free use?
 
 What have we accomplished? 
 
 
Someone once told me that the place with the most politics is academia. the professors have so little decision power that they argue (intensely) about the smallest and stupidest of things. I guess you can say the same thing here: all the code is "open" and therefore everyone argues about the smallest details left to argue about like who's name is written on the copyright (and in what order) and stuff like that. besides, how can a person steal free code?! the problem with OSS is that it's free. if it where closed than it would be a matter of the amount of money which can be negotiated and agree upon. OSS is free therefore the only thing that matters is one's pride and that cannot be negotiated. In this Specific case: Walter needs his name on all the Phobos code and he stated his valid reasons for it. Tango developers want their names on the Tango code and rightly so, since they wrote it. in case of a merger of those two code bases you get one joint code base but *two* teams that want their name on the code. someone has to be first. all I can say is that I hope this gets resolved soon for the benefit of everyone here.
Aug 14 2008
next sibling parent Dee Girl <deegirl noreply.com> writes:
Yigal Chripun Wrote:

 Jarrett Billingsley wrote:
 
 Slightly OT, and directed at this whole situation: I just sit back and 
 laugh.  *This* is open-source software?  *This* is the supposed "freedom" 
 and "openness" that the whole movement is about?  People bickering for a 
 _year_ over minutiae of licenses which are supposed to promote free use?
 
 What have we accomplished? 
 
 
Someone once told me that the place with the most politics is academia. the professors have so little decision power that they argue (intensely) about the smallest and stupidest of things. I guess you can say the same thing here: all the code is "open" and therefore everyone argues about the smallest details left to argue about like who's name is written on the copyright (and in what order) and stuff like that. besides, how can a person steal free code?! the problem with OSS is that it's free. if it where closed than it would be a matter of the amount of money which can be negotiated and agree upon. OSS is free therefore the only thing that matters is one's pride and that cannot be negotiated. In this Specific case: Walter needs his name on all the Phobos code and he stated his valid reasons for it. Tango developers want their names on the Tango code and rightly so, since they wrote it. in case of a merger of those two code bases you get one joint code base but *two* teams that want their name on the code. someone has to be first. all I can say is that I hope this gets resolved soon for the benefit of everyone here.
I do not know any thing about this. I am sorry if this does not help. I have algorithm.d open in my editor. I see this * Copyright (C) 2004-2006 by Digital Mars, www.digitalmars.com * Written by Andrei Alexandrescu, www.erdani.org Maybe it is because Andrei works for Digital Mars also? I do not know. What I see is Walter name is not in this file at all. If this is mistake please ignore. Thank you, Dee Girl
Aug 14 2008
prev sibling next sibling parent superdan <super dan.org> writes:
Yigal Chripun Wrote:

 Jarrett Billingsley wrote:
 
 Slightly OT, and directed at this whole situation: I just sit back and 
 laugh.  *This* is open-source software?  *This* is the supposed "freedom" 
 and "openness" that the whole movement is about?  People bickering for a 
 _year_ over minutiae of licenses which are supposed to promote free use?
 
 What have we accomplished? 
 
 
Someone once told me that the place with the most politics is academia. the professors have so little decision power that they argue (intensely) about the smallest and stupidest of things. I guess you can say the same thing here: all the code is "open" and therefore everyone argues about the smallest details left to argue about like who's name is written on the copyright (and in what order) and stuff like that. besides, how can a person steal free code?!
intercourse yeah. applies to any place with low stakes. the lower the stakes the weirder the contest. when i worked for intel i visited their facilities in india. long story. so there's these two young brothers heading the office in b'lore. i got to hang out with them for a while. they were first generation in their family to ever wear shoes and prolly their kids would be the first generation to not shit in the street. and they was rich by indian std. now each dood drove a mercedes from intel as a work perk. they didn't own the cars. that's how it works there. identical so far as i could tell. and after a month on indian roads all cars look the same. but i digress. so i get them a bit drunk (easy but i digress again) and their insecurities come fore. guess what was their problem. one said his merc is longer than his brothers'. the morons really start to quarrel. finally they get to the parking lot and start drawing signs in the dirt and measure stuff. i kid you not. one actually does win by 3cm. must've been diff in the bumper n mask paraphernalia. the other's pissed. it was priceless. i should've shot the whole thing on tape.
 the problem with OSS is that it's free. if it where closed than it would
 be a matter of the amount of money which can be negotiated and agree upon.
 OSS is free therefore the only thing that matters is one's pride and
 that cannot be negotiated.
 
 
 In this Specific case:
 Walter needs his name on all the Phobos code and he stated his valid
 reasons for it. Tango developers want their names on the Tango code and
 rightly so, since they wrote it. in case of a merger of those two code
 bases you get one joint code base but *two* teams that want their name
 on the code. someone has to be first.
 
 all I can say is that I hope this gets resolved soon for the benefit of
 everyone here.
still tryin' to figure what interests are at play here. who cares about what? and who wants what? no idea. not holding my breath on resolving. they've been at it for a year.
Aug 14 2008
prev sibling next sibling parent reply Sean Reque <seanthenewt yahoo.com> writes:
Yigal Chripun Wrote:

 Jarrett Billingsley wrote:
 
 Slightly OT, and directed at this whole situation: I just sit back and 
 laugh.  *This* is open-source software?  *This* is the supposed "freedom" 
 and "openness" that the whole movement is about?  People bickering for a 
 _year_ over minutiae of licenses which are supposed to promote free use?
 
 What have we accomplished? 
 
 
Someone once told me that the place with the most politics is academia. the professors have so little decision power that they argue (intensely) about the smallest and stupidest of things. I guess you can say the same thing here: all the code is "open" and therefore everyone argues about the smallest details left to argue about like who's name is written on the copyright (and in what order) and stuff like that. besides, how can a person steal free code?! the problem with OSS is that it's free. if it where closed than it would be a matter of the amount of money which can be negotiated and agree upon. OSS is free therefore the only thing that matters is one's pride and that cannot be negotiated. In this Specific case: Walter needs his name on all the Phobos code and he stated his valid reasons for it. Tango developers want their names on the Tango code and rightly so, since they wrote it. in case of a merger of those two code bases you get one joint code base but *two* teams that want their name on the code. someone has to be first. all I can say is that I hope this gets resolved soon for the benefit of everyone here.
If I understand correctly, this is an issue not for political reasons, but for legal and economic ones. Digital Mars as a company has to convince the corporate world that they can use the D tools offered without any legal ramifications. I do not see where pride is involved at all, at least on Walter's side. He said he has already given the Tango developers license to use re-license (Phobos?) code how they see fit, and is waiting for the same permission in return. Sean Reque
Aug 14 2008
parent reply "Steven Schveighoffer" <schveiguy yahoo.com> writes:
"Sean Reque" wrote
 Yigal Chripun Wrote:

 Jarrett Billingsley wrote:
 Slightly OT, and directed at this whole situation: I just sit back and
 laugh.  *This* is open-source software?  *This* is the supposed 
 "freedom"
 and "openness" that the whole movement is about?  People bickering for 
 a
 _year_ over minutiae of licenses which are supposed to promote free 
 use?

 What have we accomplished?
Someone once told me that the place with the most politics is academia. the professors have so little decision power that they argue (intensely) about the smallest and stupidest of things. I guess you can say the same thing here: all the code is "open" and therefore everyone argues about the smallest details left to argue about like who's name is written on the copyright (and in what order) and stuff like that. besides, how can a person steal free code?! the problem with OSS is that it's free. if it where closed than it would be a matter of the amount of money which can be negotiated and agree upon. OSS is free therefore the only thing that matters is one's pride and that cannot be negotiated. In this Specific case: Walter needs his name on all the Phobos code and he stated his valid reasons for it. Tango developers want their names on the Tango code and rightly so, since they wrote it. in case of a merger of those two code bases you get one joint code base but *two* teams that want their name on the code. someone has to be first. all I can say is that I hope this gets resolved soon for the benefit of everyone here.
If I understand correctly, this is an issue not for political reasons, but for legal and economic ones. Digital Mars as a company has to convince the corporate world that they can use the D tools offered without any legal ramifications. I do not see where pride is involved at all, at least on Walter's side. He said he has already given the Tango developers license to use re-license (Phobos?) code how they see fit, and is waiting for the same permission in return.
I don't know the details of the license that Walter gave to the Tango devs, but according to Phobos' license, no explicit permission is needed as long as you obey the license terms (which is pretty free in its terms), and in fact, Tango has the Phobos license in the runtime anyways, and obeys the license that ships with Phobos. So I don't see how it is relevant that Walter gave a specific license to Tango, it was not required (at least that's my understanding). It should be the same thing for Walter to accept Tango's modified version of the runtime (just include a copy of Tango's license). My understanding is that Walter is against doing that for the purpose of avoiding having 2 licenses in phobos. Both licenses are very similar, and completely compatible. I see that Walter doesn't like it, but I don't see why it is a problem? Perhaps you could elaborate more, Walter. Also, I would like to know specifically what Walter needs from the Tango team. What could it be that he needs that the Tango team is against? -Steve
Aug 14 2008
next sibling parent Sean Kelly <sean invisibleduck.org> writes:
Steven Schveighoffer wrote:
 "Sean Reque" wrote
 Yigal Chripun Wrote:

 Jarrett Billingsley wrote:
 Slightly OT, and directed at this whole situation: I just sit back and
 laugh.  *This* is open-source software?  *This* is the supposed 
 "freedom"
 and "openness" that the whole movement is about?  People bickering for 
 a
 _year_ over minutiae of licenses which are supposed to promote free 
 use?

 What have we accomplished?
Someone once told me that the place with the most politics is academia. the professors have so little decision power that they argue (intensely) about the smallest and stupidest of things. I guess you can say the same thing here: all the code is "open" and therefore everyone argues about the smallest details left to argue about like who's name is written on the copyright (and in what order) and stuff like that. besides, how can a person steal free code?! the problem with OSS is that it's free. if it where closed than it would be a matter of the amount of money which can be negotiated and agree upon. OSS is free therefore the only thing that matters is one's pride and that cannot be negotiated. In this Specific case: Walter needs his name on all the Phobos code and he stated his valid reasons for it. Tango developers want their names on the Tango code and rightly so, since they wrote it. in case of a merger of those two code bases you get one joint code base but *two* teams that want their name on the code. someone has to be first. all I can say is that I hope this gets resolved soon for the benefit of everyone here.
If I understand correctly, this is an issue not for political reasons, but for legal and economic ones. Digital Mars as a company has to convince the corporate world that they can use the D tools offered without any legal ramifications. I do not see where pride is involved at all, at least on Walter's side. He said he has already given the Tango developers license to use re-license (Phobos?) code how they see fit, and is waiting for the same permission in return.
I don't know the details of the license that Walter gave to the Tango devs, but according to Phobos' license, no explicit permission is needed as long as you obey the license terms (which is pretty free in its terms)
Walter has been updating to the PD license in modules when has has some reason to modify them for code changes, so many modules retained a BSD license until recently (in fact, I think some still may). One of the first things I did with Tango was to try and normalize the license documentation in the runtime to make things easier to deal with. Fortunately, since Tango is dual licensed under BSD it was easy enough to use a common license for everything and make sure that Walter was listed as the copyright owner. I don't actually recall offhand if the modules are still BSD only or dual-licensed, but since Walter has given us rights to the code I suppose it no longer matters--with it, the artistic license should no longer conflict with any lingering BSD license requirements in Phobos. Sean
Aug 14 2008
prev sibling parent reply Walter Bright <newshound1 digitalmars.com> writes:
Steven Schveighoffer wrote:
 I don't know the details of the license that Walter gave to the Tango devs, 
It's as I posted here. Tango may use any part of Phobos and *relicense* it under the Tango license that I have the power to do.
 but according to Phobos' license, no explicit permission is needed as long 
 as you obey the license terms (which is pretty free in its terms), and in 
 fact, Tango has the Phobos license in the runtime anyways, and obeys the 
 license that ships with Phobos.  So I don't see how it is relevant that 
 Walter gave a specific license to Tango, it was not required (at least 
 that's my understanding).  It should be the same thing for Walter to accept 
 Tango's modified version of the runtime (just include a copy of Tango's 
 license).  My understanding is that Walter is against doing that for the 
 purpose of avoiding having 2 licenses in phobos.  Both licenses are very 
 similar, and completely compatible.  I see that Walter doesn't like it, but 
 I don't see why it is a problem?  Perhaps you could elaborate more, Walter.
I don't know what more needs to be elaborated. There are two reasons for this: 1. To ensure Phobos is free of any legal taint and any accusations of stealing code. 2. To avoid the untenable issue of a single module in Phobos having different license for different lines of code.
 Also, I would like to know specifically what Walter needs from the Tango 
 team.  What could it be that he needs that the Tango team is against?
What specifically I'd like from the Tango team is explicit permission for the Phobos team to go over the Tango code and be able to copy/use whatever portions of it are necessary to get the two libraries to have a compatible core, and to relicense those parts under the corresponding Phobos license. I have already provided a reciprocal agreement for the Tango team to use Phobos.
Aug 14 2008
next sibling parent reply "Steven Schveighoffer" <schveiguy yahoo.com> writes:
"Walter Bright" wrote
 Steven Schveighoffer wrote:
 I don't know the details of the license that Walter gave to the Tango 
 devs,
It's as I posted here. Tango may use any part of Phobos and *relicense* it under the Tango license that I have the power to do.
 but according to Phobos' license, no explicit permission is needed as 
 long as you obey the license terms (which is pretty free in its terms), 
 and in fact, Tango has the Phobos license in the runtime anyways, and 
 obeys the license that ships with Phobos.  So I don't see how it is 
 relevant that Walter gave a specific license to Tango, it was not 
 required (at least that's my understanding).  It should be the same thing 
 for Walter to accept Tango's modified version of the runtime (just 
 include a copy of Tango's license).  My understanding is that Walter is 
 against doing that for the purpose of avoiding having 2 licenses in 
 phobos.  Both licenses are very similar, and completely compatible.  I 
 see that Walter doesn't like it, but I don't see why it is a problem? 
 Perhaps you could elaborate more, Walter.
I don't know what more needs to be elaborated. There are two reasons for this: 1. To ensure Phobos is free of any legal taint and any accusations of stealing code.
Easy. Don't say you wrote the Tango portions :) Both Tango and Phobos are well established, it is not like you are starting from scratch, and especially, both are maintained in SVN on a third-party site, so it is easy to see who wrote what when. I think you need to give a little on this...
 2. To avoid the untenable issue of a single module in Phobos having 
 different license for different lines of code.
Different *lines* of code? There is no reason to do that. Keep the license per module. If you make changes in a module that was licensed under Tango only, leave the license there. From my understanding, any code that Tango used from Phobos still has the original license that Phobos provided. I don't see a problem with that model.
 Also, I would like to know specifically what Walter needs from the Tango 
 team.  What could it be that he needs that the Tango team is against?
What specifically I'd like from the Tango team is explicit permission for the Phobos team to go over the Tango code and be able to copy/use whatever portions of it are necessary to get the two libraries to have a compatible core, and to relicense those parts under the corresponding Phobos license.
What is wrong with giving you permission to go over a given list of files that are specifically owned by people who don't mind you using their code? This should be adequate for creating a common core, as the core modules are well separated from the user portions. And why must they be relicensed? I don't really understand that part (but from Sean's messages, it looks like you already have that permission). What if someone gathered all the appropriate files together in a single package, and had the Tango developers sign off that Sean was the sole owner of the files in that package? Would that be enough?
 I have already provided a reciprocal agreement for the Tango team to use 
 Phobos.
Again, if this is the case, it was not used, because all of the Phobos-originated code (that I looked at anyways) still is licensed under the Phobos license. -Steve
Aug 14 2008
parent reply Sean Kelly <sean invisibleduck.org> writes:
Steven Schveighoffer wrote:
 "Walter Bright" wrote
 Steven Schveighoffer wrote:
 Also, I would like to know specifically what Walter needs from the Tango 
 team.  What could it be that he needs that the Tango team is against?
What specifically I'd like from the Tango team is explicit permission for the Phobos team to go over the Tango code and be able to copy/use whatever portions of it are necessary to get the two libraries to have a compatible core, and to relicense those parts under the corresponding Phobos license.
What is wrong with giving you permission to go over a given list of files that are specifically owned by people who don't mind you using their code? This should be adequate for creating a common core, as the core modules are well separated from the user portions. And why must they be relicensed? I don't really understand that part (but from Sean's messages, it looks like you already have that permission).
I believe the issue is fear of "taint." In short, if Walter so much as glances at a module and it turns out that one of the authors isn't someone who has licensed his code to Walter then he could later accuse Walter of violating his copyright simply because something in Walters code looked vaguely similar. It's why Walter has never looked at GDC, for example, since he is in the business of writing compilers. Personally, I think copyright law is utterly ridiculous, but what can you do.
 What if someone gathered all the appropriate files together in a single 
 package, and had the Tango developers sign off that Sean was the sole owner 
 of the files in that package?  Would that be enough?
I actually send Walter a bundled copy of the Tango runtime years ago for just this reason, and didn't realize that Walter had never looked at it until probably a year later when Walter said he'd never looked at Tango at all. Sean
Aug 14 2008
parent reply "Steven Schveighoffer" <schveiguy yahoo.com> writes:
"Sean Kelly" wrote
 Steven Schveighoffer wrote:
 "Walter Bright" wrote
 Steven Schveighoffer wrote:
 Also, I would like to know specifically what Walter needs from the 
 Tango team.  What could it be that he needs that the Tango team is 
 against?
What specifically I'd like from the Tango team is explicit permission for the Phobos team to go over the Tango code and be able to copy/use whatever portions of it are necessary to get the two libraries to have a compatible core, and to relicense those parts under the corresponding Phobos license.
What is wrong with giving you permission to go over a given list of files that are specifically owned by people who don't mind you using their code? This should be adequate for creating a common core, as the core modules are well separated from the user portions. And why must they be relicensed? I don't really understand that part (but from Sean's messages, it looks like you already have that permission).
I believe the issue is fear of "taint." In short, if Walter so much as glances at a module and it turns out that one of the authors isn't someone who has licensed his code to Walter then he could later accuse Walter of violating his copyright simply because something in Walters code looked vaguely similar. It's why Walter has never looked at GDC, for example, since he is in the business of writing compilers. Personally, I think copyright law is utterly ridiculous, but what can you do.
Copyright law is not that rediculous (aside from the US DMCA). Looking at code and then writing something that uses the same ideas as the code is not a copyright violation. Possibly a patent violation, but that is only if your country has software patents (which, sadly, mine does), and you are not protected from patent infringements even if you *don't* look at the code. You don't copyright the ideas, you copyright the literal text of the code itself (and the exact bytes of the binary). But in this instance, you WANT the code to be identical because you want it to be compatible. Yet there should be no issue because the code is open source. Many many companies use open source software and have no problems because they attribute credit where credit is due. This should be no different. Not looking at the Tango runtime source because some random contributor who has nothing to do with Tango's runtime might try to sue Walter (for what, I can't imagine), is sort of like not ever trying to walk for fear you might fall down and break an arm. I think, after reading all this stuff, that Tango has minimalized the risk to a very tiny reasonable level, and it is up to Walter to take the steps to actually make the change possible. The only further right that Walter gains with having Tango code in the public domain is to claim credit for their work. So I tend to agree with those who don't want their code released as PD. -Steve
Aug 14 2008
next sibling parent Sean Kelly <sean invisibleduck.org> writes:
== Quote from Steven Schveighoffer (schveiguy yahoo.com)'s article
 "Sean Kelly" wrote
 Steven Schveighoffer wrote:
 "Walter Bright" wrote
 Steven Schveighoffer wrote:
 Also, I would like to know specifically what Walter needs from the
 Tango team.  What could it be that he needs that the Tango team is
 against?
What specifically I'd like from the Tango team is explicit permission for the Phobos team to go over the Tango code and be able to copy/use whatever portions of it are necessary to get the two libraries to have a compatible core, and to relicense those parts under the corresponding Phobos license.
What is wrong with giving you permission to go over a given list of files that are specifically owned by people who don't mind you using their code? This should be adequate for creating a common core, as the core modules are well separated from the user portions. And why must they be relicensed? I don't really understand that part (but from Sean's messages, it looks like you already have that permission).
I believe the issue is fear of "taint." In short, if Walter so much as glances at a module and it turns out that one of the authors isn't someone who has licensed his code to Walter then he could later accuse Walter of violating his copyright simply because something in Walters code looked vaguely similar. It's why Walter has never looked at GDC, for example, since he is in the business of writing compilers. Personally, I think copyright law is utterly ridiculous, but what can you do.
Copyright law is not that rediculous (aside from the US DMCA). Looking at code and then writing something that uses the same ideas as the code is not a copyright violation. Possibly a patent violation, but that is only if your country has software patents (which, sadly, mine does), and you are not protected from patent infringements even if you *don't* look at the code. You don't copyright the ideas, you copyright the literal text of the code itself (and the exact bytes of the binary). But in this instance, you WANT the code to be identical because you want it to be compatible. Yet there should be no issue because the code is open source. Many many companies use open source software and have no problems because they attribute credit where credit is due. This should be no different. Not looking at the Tango runtime source because some random contributor who has nothing to do with Tango's runtime might try to sue Walter (for what, I can't imagine), is sort of like not ever trying to walk for fear you might fall down and break an arm. I think, after reading all this stuff, that Tango has minimalized the risk to a very tiny reasonable level, and it is up to Walter to take the steps to actually make the change possible. The only further right that Walter gains with having Tango code in the public domain is to claim credit for their work. So I tend to agree with those who don't want their code released as PD.
For what it's worth, if having compatible runtimes is the only issue then I do maintain a "standard" of sorts that outlines the public interfaces the runtime libraries must provide: http://dsource.org/projects/tango/wiki/LibraryIntegrationGuide I've mentioned this to Walter et al. in the past, but no one seemed interested. Can't say I understand the reasoning, but what can you do. Sean
Aug 14 2008
prev sibling parent reply Yigal Chripun <yigal100 gmail.com> writes:
Steven Schveighoffer wrote:
 Copyright law is not that rediculous (aside from the US DMCA).
US DMCA is not only ridiculous but also illegal since it violates the US constitution. Sadly, I don't see any public outcry against this and other laws like eavesdropping without a court order and other violations of basic rights as written in the constitution. Should I care for this really sad situation in which "the greatest democracy" is in? unfortunately the answer is yes because the US government influences and puts pressure on other countries to adjust to their view and thus indirectly influences our local laws. This is evident in the raid on the pirate bay's servers which was illegal according to local law and was done due to pressure from the US administration. our local copyright law was recently changed to be more like the US one, due to similar reasons.
Aug 14 2008
parent reply Robert Fraser <fraserofthenight gmail.com> writes:
Yigal Chripun Wrote:

 Steven Schveighoffer wrote:
  > Copyright law is not that rediculous (aside from the US DMCA).
 US DMCA is not only ridiculous but also illegal since it violates the US
  constitution. Sadly, I don't see any public outcry against this and
 other laws like eavesdropping without a court order and other violations
 of basic rights as written in the constitution. Should I care for this
 really sad situation in which "the greatest democracy" is in?
 unfortunately the answer is yes because the US government influences and
 puts pressure on other countries to adjust to their view and thus
 indirectly influences our local laws.
 This is evident in the raid on the pirate bay's servers which was
 illegal according to local law and was done due to pressure from the US
 administration.
 our local copyright law was recently changed to be more like the US one,
  due to similar reasons.
I've had very mixed feelings about all this. One one hand, the letter of the law may be questionably constitutional. But millions of dollars every day are lost because people (including myself occasionally...) steal copyrighted material. Honestly, I think there should be much stricter penalties for things like internet piracy, because it's simply so widespread and damaging.
Aug 14 2008
parent reply Yigal Chripun <yigal100 gmail.com> writes:
Robert Fraser wrote:
 I've had very mixed feelings about all this. One one hand, the letter
of the
 law may be questionably constitutional. But millions of dollars every day are
 lost because people (including myself occasionally...) steal copyrighted
 material. Honestly, I think there should be much stricter penalties for
 things like internet piracy, because it's simply so widespread and damaging.
Of course you have the right to have your own opinion (that's also in the constitution) but all of the above is bullshit. (sorry for the language). stealing only applies to physical things like chairs and cars. that whole metaphor of information as physical entities is wrong. you sure can infringe someone's copyrights but you cannot steal anything since there's nothing to steal. Now that we cleared that out of the way, let's touch other nonsenses in what you wrote: A) "millions of dollars every day are lost..." - Not true. you assume that if a person doesn't pirate he would have payed for the stuff. this is a wrong assumption since the majority of people would just use other alternatives. if I wouldn't be able to pirate MS office I'd probably search for a cheap commercial solution or install Open Office which is good enough for me and most other private people and small companies. no one in their right mind would pay 500$ for an office suit. think globally: in US standards paying for software is not that expensive and is convenient (and you pay for that as well) but for most of the world those prices are high. in Israel 500$ translates to roughly 2000 NIS which is a lot. B)"it's simply so ... damaging" - not so. If you look at music and films than the image is backwards: since it's easy to pirate I can download a lot of stuff try it out and only keep what I like. If I like it I'll tell friends and more people will be exposed to the content. pirating actually makes money for the copyright holder and helps him get recognized since it's advertising they don't need to pay for. If what you said was true than Red Hat and Novel wouldn't lasted more than a day. after all you can legally download their products from their respective websites! The issue is not whether piracy is moral or not. it's a fact of life - the internet provides an efficient means for distribution of information. either you take advantage of it or you insist on your old irrelevant business model and go extinct. business 101 - "The customer is always right." the moment they (RIAA, MPAA, etc..) broke that rule because they refused to evolve with respect to new technology and business models is the moment they signed their death warrants. I prefer supporting music artists by going to a concert and paying 100$ for a ticket rather than paying for CDs with shitty music the records companies advertise and try to stick in my throat. one last thing, before suggesting more penalties and such please read the following: http://www.gnu.org/philosophy/right-to-read.html *after* reading this, are you sure still that this is the way to go?
Aug 14 2008
parent reply Robert Fraser <fraserofthenight gmail.com> writes:
Yigal Chripun Wrote:

 Robert Fraser wrote:
  > I've had very mixed feelings about all this. One one hand, the letter
 of the
 law may be questionably constitutional. But millions of dollars every day are
 lost because people (including myself occasionally...) steal copyrighted
 material. Honestly, I think there should be much stricter penalties for
 things like internet piracy, because it's simply so widespread and damaging.
Of course you have the right to have your own opinion (that's also in the constitution) but all of the above is bullshit. (sorry for the language). stealing only applies to physical things like chairs and cars. that whole metaphor of information as physical entities is wrong. you sure can infringe someone's copyrights but you cannot steal anything since there's nothing to steal.
Some philosopher said that all philosophical debates were inherently linguistic ones that stemmed from not having the words to represent the concepts being spoken about. We're using different definitions of "steal," but the concept is clear -- it's taking something you don't have the right to have taken without paying for, and the debate is over whether you do or should have that right.
 Now that we cleared that out of the way, let's touch other nonsenses in
 what you wrote:
 
 A) "millions of dollars every day are lost..." - Not true. you assume
 that if a person doesn't pirate he would have payed for the stuff. this
 is a wrong assumption since the majority of people would just use other
 alternatives.
Sure not everyone would have paid. But at least one person would have paid. Back in high school, I would have paid for a lot of the music I downloaded (perhaps not all of it) -- but I didn't since it was so easy for me to pirate it. The statement is that piracy costs at least $1 million/day in LOST SALES; if you would have used a free alternative, that's not factored into the argument.
 if I wouldn't be able to pirate MS office 
Mah paycheck!!! (that's paying me to post on D NGs...)
 I'd probably
 search for a cheap commercial solution or install Open Office which is
 good enough for me and most other private people and small companies. no
 one in their right mind would pay 500$ for an office suit. think
 globally: in US standards paying for software is not that expensive and
 is convenient (and you pay for that as well) but for most of the world
 those prices are high. in Israel 500$ translates to roughly 2000 NIS
 which is a lot.
 B)"it's simply so ... damaging" - not so.
 If you look at music and films than the image is backwards: since it's
 easy to pirate I can download a lot of stuff try it out and only keep
 what I like. If I like it I'll tell friends and more people will be
 exposed to the content. pirating actually makes money for the copyright
 holder and helps him get recognized since it's advertising they don't
 need to pay for.
I'm going to cry bull**** here. Quite a few sites offer legit free music/ video. The content creators/producers have made this available for precisely the reason you said -- so people view it and tell their friends or choose to buy higher-quality versions of it. The stuff they DON'T make available for free is not there because it is more profitable for them not to make it available. The creators/producers choose what to share for free -- NOT the consumers.
 If what you said was true than Red Hat and Novel wouldn't lasted more
 than a day. after all you can legally download their products from their
  respective websites!
Their business model is to make money off the support for their software, not the software itself.
 The issue is not whether piracy is moral or not. it's a fact of life -
 the internet provides an efficient means for distribution of
 information. either you take advantage of it or you insist on your old
 irrelevant business model and go extinct. 
Selling software/music/video/intellectual property for money is an extinct business model...? If that's your argument then o_O.
 business 101 - "The customer
 is always right." the moment they (RIAA, MPAA, etc..) broke that rule
 because they refused to evolve with respect to new technology and
 business models is the moment they signed their death warrants.
 
 I prefer supporting music artists by going to a concert and paying 100$
 for a ticket rather than paying for CDs with shitty music the records
 companies advertise and try to stick in my throat.
 
 one last thing, before suggesting more penalties and such please read
 the following: http://www.gnu.org/philosophy/right-to-read.html
 *after* reading this, are you sure still that this is the way to go?
I think what a lot of these arguments boil down to is people trying to justify taking stuff without paying for it. Plain and simple. I do on occasion download videos (these days only anime fansubs). And I don't feel bad about it. But I do know it's stealing. Downloading a $10 CD is really no better than shoplifting a $10 CD, because the people who worked to bring that CD into existence are not being paid for it.
Aug 14 2008
next sibling parent reply Yigal Chripun <yigal100 gmail.com> writes:
Warning: this can turn into a long debate...

Robert Fraser wrote:
 Yigal Chripun Wrote:
 
 Robert Fraser wrote:
  > I've had very mixed feelings about all this. One one hand, the letter
 of the
 law may be questionably constitutional. But millions of dollars every day are
 lost because people (including myself occasionally...) steal copyrighted
 material. Honestly, I think there should be much stricter penalties for
 things like internet piracy, because it's simply so widespread and damaging.
Of course you have the right to have your own opinion (that's also in the constitution) but all of the above is bullshit. (sorry for the language). stealing only applies to physical things like chairs and cars. that whole metaphor of information as physical entities is wrong. you sure can infringe someone's copyrights but you cannot steal anything since there's nothing to steal.
Some philosopher said that all philosophical debates were inherently linguistic ones that stemmed from not having the words to represent the concepts being spoken about. We're using different definitions of "steal," but the concept is clear -- it's taking something you don't have the right to have taken without paying for, and the debate is over whether you do or should have that right.
I won't argue about wording and linguistics with you. this would be just silly. I'll simply agree that my definition of what stilling is differs from yours. I do disagree on one thing though: everything in life is a balance and a compromise. Democracy is a compromise between the rights of the individual and that of the community he belongs to, for one example. this notion of compromise is inherit in our discussion as well: on the one hand we have the right of the content creator to do what he wants with his creation and on the other hand we have the right of the public to access that creation. So we disagree on where the balance lies. However, please do not claim "it's taking something you don't have the right to have taken" since that right is also is present.
 
 Now that we cleared that out of the way, let's touch other nonsenses in
 what you wrote:

 A) "millions of dollars every day are lost..." - Not true. you assume
 that if a person doesn't pirate he would have payed for the stuff. this
 is a wrong assumption since the majority of people would just use other
 alternatives.
Sure not everyone would have paid. But at least one person would have paid. Back in high school, I would have paid for a lot of the music I downloaded (perhaps not all of it) -- but I didn't since it was so easy for me to pirate it. The statement is that piracy costs at least $1 million/day in LOST SALES; if you would have used a free alternative, that's not factored into the argument.
Hence, that statement is flawed since the vast majority of people would *NOT* have bought the content in question.
 
 if I wouldn't be able to pirate MS office 
Mah paycheck!!! (that's paying me to post on D NGs...)
 I'd probably
 search for a cheap commercial solution or install Open Office which is
 good enough for me and most other private people and small companies. no
 one in their right mind would pay 500$ for an office suit. think
 globally: in US standards paying for software is not that expensive and
 is convenient (and you pay for that as well) but for most of the world
 those prices are high. in Israel 500$ translates to roughly 2000 NIS
 which is a lot.
 B)"it's simply so ... damaging" - not so.
 If you look at music and films than the image is backwards: since it's
 easy to pirate I can download a lot of stuff try it out and only keep
 what I like. If I like it I'll tell friends and more people will be
 exposed to the content. pirating actually makes money for the copyright
 holder and helps him get recognized since it's advertising they don't
 need to pay for.
I'm going to cry bull**** here. Quite a few sites offer legit free music/ video. The content creators/producers have made this available for precisely the reason you said -- so people view it and tell their friends or choose to buy higher-quality versions of it. The stuff they DON'T make available for free is not there because it is more profitable for them not to make it available. The creators/producers choose what to share for free -- NOT the consumers.
As I said above, it's all a matter of balance: people are willing to pay for the _convenience_ of being able to download music online in good [lossless probably] quality. people are also willing to buy merchandise to support their favorite artist and of course, people are willing to pay to attend a concert/performance/etc of the artist. Those are all logical business models. however, people *aren't* willing to pay for the /right/ to download music. Where's the balance? simple - The record companies where selling us a cat in the bag for years and demanding us to pay again {and a larger sum at that] each time they switch formats. That's unacceptable to me. I am willing to pay for the convenience of an online service if that service was in fact convenient and I could get a feeling what I'm paying for. This does not mean DRM [this is finally dawned upon the companies]. A consumer expects that just like when he buys a car where he can drive it on what ever road he wants, the same would happen with the music. Since Apple allow for non-drm music in itunes - this is the last thing that needs to change in order for me to buy my music there. (also, I think the price is a bit high but that's just a matter of pricing which is solved by market forces) As soon as those online service evolve into something that is really convenient there will be no reason for the average user to want to pirate. pirating will never completely disappear but they'll be a minor thing.
 If what you said was true than Red Hat and Novel wouldn't lasted more
 than a day. after all you can legally download their products from their
  respective websites!
Their business model is to make money off the support for their software, not the software itself.
exactly. just one of the million posibilities of viable business models that do not equate the consumer and end user of the product to thieves, pirates and sinners in general.
 
 The issue is not whether piracy is moral or not. it's a fact of life -
 the internet provides an efficient means for distribution of
 information. either you take advantage of it or you insist on your old
 irrelevant business model and go extinct. 
Selling software/music/video/intellectual property for money is an extinct business model...? If that's your argument then o_O.
That's partly my argument. When was the last time you used a telegraph? That technology was replaced be better technologies. So what what about all those people that where trained with Morse code and telegraph equipment? Should the government force us to use telegraphs in order for them to keep their jobs? What about silent film actors? today actors are required to be able to speak properly as part of their profession, So what about all those actors that cannot speak properly? There are of course more examples where a new technology deprecated some profession or job. Same goes for all the jobs at record companies - they are unneeded and the record company itself is redundant in a world where the artist can create he's work alone and reach his audience directly via the web.
 
 business 101 - "The customer
 is always right." the moment they (RIAA, MPAA, etc..) broke that rule
 because they refused to evolve with respect to new technology and
 business models is the moment they signed their death warrants.

 I prefer supporting music artists by going to a concert and paying 100$
 for a ticket rather than paying for CDs with shitty music the records
 companies advertise and try to stick in my throat.

 one last thing, before suggesting more penalties and such please read
 the following: http://www.gnu.org/philosophy/right-to-read.html
 *after* reading this, are you sure still that this is the way to go?
I think what a lot of these arguments boil down to is people trying to justify taking stuff without paying for it. Plain and simple. I do on occasion download videos (these days only anime fansubs). And I don't feel bad about it. But I do know it's stealing. Downloading a $10 CD is really no better than shoplifting a $10 CD, because the people who worked to bring that CD into existence are not being paid for it.
Aug 14 2008
next sibling parent Robert Fraser <fraserofthenight gmail.com> writes:
Yigal Chripun wrote:
 Warning: this can turn into a long debate...
Eh; I'm enjoying it ;-P. Gives a good break from Windows Forms.
 Democracy is a compromise between the rights
 of the individual and that of the community he belongs to, for one
 example. this notion of compromise is inherit in our discussion as well:
 on the one hand we have the right of the content creator to do what he
 wants with his creation and on the other hand we have the right of the
 public to access that creation.
Indeed, the discussion is about that right.
 A) "millions of dollars every day are lost..." - Not true. you assume
 that if a person doesn't pirate he would have payed for the stuff. this
 is a wrong assumption since the majority of people would just use other
 alternatives.
Sure not everyone would have paid. But at least one person would have paid. Back in high school, I would have paid for a lot of the music I downloaded (perhaps not all of it) -- but I didn't since it was so easy for me to pirate it. The statement is that piracy costs at least $1 million/day in LOST SALES; if you would have used a free alternative, that's not factored into the argument.
Hence, that statement is flawed since the vast majority of people would *NOT* have bought the content in question.
No, _TAKING INTO ACCOUNT_ that some people would not have gotten the content "legally" and some would, I believe there's still over $1 million/day lost through piracy. Obviously, there's no way to measure this. Can we agree that there is at least one person who downloaded some content and if he had not been able to that he would have BOUGHT the content. If so, then there is a lost sale.
 As I said above, it's all a matter of balance:
 people are willing to pay for the _convenience_ of being able to
 download music online in good [lossless probably] quality. people are
 also willing to buy merchandise to support their favorite artist and of
 course, people are willing to pay to attend a concert/performance/etc of
 the artist. Those are all logical business models. however, people
 *aren't* willing to pay for the /right/ to download music.
Right, and that's the problem ;-P. There are also people who will go into an electronics store and aren't willing to pay for the right to use a certain MP3 player so walk out with it under their shirt.
 Where's the balance? simple - The record companies where selling us a
 cat in the bag for years and demanding us to pay again {and a larger sum
 at that] each time they switch formats. That's unacceptable to me. I am
 willing to pay for the convenience of an online service if that service
 was in fact convenient and I could get a feeling what I'm paying for.
 This does not mean DRM [this is finally dawned upon the companies]. A
 consumer expects that just like when he buys a car where he can drive it
 on what ever road he wants, the same would happen with the music.
 Since Apple allow for non-drm music in itunes - this is the last thing
 that needs to change in order for me to buy my music there. (also, I
 think the price is a bit high but that's just a matter of pricing which
 is solved by market forces)
 As soon as those online service evolve into something that is really
 convenient there will be no reason for the average user to want to
 pirate. pirating will never completely disappear but they'll be a minor
 thing.

 Selling software/music/video/intellectual property for money is an extinct
 business model...? If that's your argument then o_O.
That's partly my argument. When was the last time you used a telegraph? That technology was replaced be better technologies. So what what about all those people that where trained with Morse code and telegraph equipment? Should the government force us to use telegraphs in order for them to keep their jobs? What about silent film actors? today actors are required to be able to speak properly as part of their profession, So what about all those actors that cannot speak properly? There are of course more examples where a new technology deprecated some profession or job. Same goes for all the jobs at record companies - they are unneeded and the record company itself is redundant in a world where the artist can create he's work alone and reach his audience directly via the web.
There's already good DRM-free music sites (eMusic is one; Zune store is about half DRM-free and has an unlimited subscription plan). For video, most TV stations in the US provide free streams of their popular shows now, and Netflix has a good portion of its content available for streaming/instant-viewing. Many games are available for download via Direct2Drive, Steam, etc., and most productivity software is now licensed online so you never have to even go to the store. All this stuff is just as easy as piracy, the difference is you have to pay. Point: there are many paid alternatives that provide the same quality of experience that piracy does. People don't use them because they have to pay. Arguing "it's a better experience if you pirate" may have been valid 5 years ago, but it's not today. Anyways, music is a pretty bad example, since most online music sites are crap, record companies don't pay artists well, etc., etc. Let's restrict our domain to software, since we're both creators of software (I'm guessing) and it's our work that's being ripped off. Say you quit your day job, took out a loan, and spent two years, 10 hours a day developing a Photoshop-killer. Would you think people had the right to use it without paying you?
Aug 14 2008
prev sibling parent reply Jesse Phillips <jessekphillips gmail.com> writes:
I'm sorry this just seems like crap logic. I probably will be unhappy 
about going into this but oh well.

On Fri, 15 Aug 2008 05:25:08 +0300, Yigal Chripun wrote:

 Warning: this can turn into a long debate...
 
 Robert Fraser wrote:
 Yigal Chripun Wrote:
 
 Robert Fraser wrote:
  > I've had very mixed feelings about all this. One one hand, the
  > letter
 of the
 law may be questionably constitutional. But millions of dollars every
 day are lost because people (including myself occasionally...) steal
 copyrighted material. Honestly, I think there should be much stricter
 penalties for things like internet piracy, because it's simply so
 widespread and damaging.
Of course you have the right to have your own opinion (that's also in the constitution) but all of the above is bullshit. (sorry for the language). stealing only applies to physical things like chairs and cars. that whole metaphor of information as physical entities is wrong. you sure can infringe someone's copyrights but you cannot steal anything since there's nothing to steal.
Some philosopher said that all philosophical debates were inherently linguistic ones that stemmed from not having the words to represent the concepts being spoken about. We're using different definitions of "steal," but the concept is clear -- it's taking something you don't have the right to have taken without paying for, and the debate is over whether you do or should have that right.
I won't argue about wording and linguistics with you. this would be just silly. I'll simply agree that my definition of what stilling is differs from yours. I do disagree on one thing though: everything in life is a balance and a compromise. Democracy is a compromise between the rights of the individual and that of the community he belongs to, for one example. this notion of compromise is inherit in our discussion as well: on the one hand we have the right of the content creator to do what he wants with his creation and on the other hand we have the right of the public to access that creation. So we disagree on where the balance lies. However, please do not claim "it's taking something you don't have the right to have taken" since that right is also is present.
Why does the public have the right to access that creation? I'm sorry, I don't think me or Robert would agree with you that when something has been created everyone has the right to have access to that creation.
 Now that we cleared that out of the way, let's touch other nonsenses
 in what you wrote:

 A) "millions of dollars every day are lost..." - Not true. you assume
 that if a person doesn't pirate he would have payed for the stuff.
 this is a wrong assumption since the majority of people would just use
 other alternatives.
Sure not everyone would have paid. But at least one person would have paid. Back in high school, I would have paid for a lot of the music I downloaded (perhaps not all of it) -- but I didn't since it was so easy for me to pirate it. The statement is that piracy costs at least $1 million/day in LOST SALES; if you would have used a free alternative, that's not factored into the argument.
Hence, that statement is flawed since the vast majority of people would *NOT* have bought the content in question.
 
 if I wouldn't be able to pirate MS office
Mah paycheck!!! (that's paying me to post on D NGs...)
 I'd probably
 search for a cheap commercial solution or install Open Office which is
 good enough for me and most other private people and small companies.
 no one in their right mind would pay 500$ for an office suit. think
 globally: in US standards paying for software is not that expensive
 and is convenient (and you pay for that as well) but for most of the
 world those prices are high. in Israel 500$ translates to roughly 2000
 NIS which is a lot.
 B)"it's simply so ... damaging" - not so. If you look at music and
 films than the image is backwards: since it's easy to pirate I can
 download a lot of stuff try it out and only keep what I like. If I
 like it I'll tell friends and more people will be exposed to the
 content. pirating actually makes money for the copyright holder and
 helps him get recognized since it's advertising they don't need to pay
 for.
I'm going to cry bull**** here. Quite a few sites offer legit free music/ video. The content creators/producers have made this available for precisely the reason you said -- so people view it and tell their friends or choose to buy higher-quality versions of it. The stuff they DON'T make available for free is not there because it is more profitable for them not to make it available. The creators/producers choose what to share for free -- NOT the consumers.
As I said above, it's all a matter of balance: people are willing to pay for the _convenience_ of being able to download music online in good [lossless probably] quality. people are also willing to buy merchandise to support their favorite artist and of course, people are willing to pay to attend a concert/performance/etc of the artist. Those are all logical business models. however, people *aren't* willing to pay for the /right/ to download music. Where's the balance? simple - The record companies where selling us a cat in the bag for years and demanding us to pay again {and a larger sum at that] each time they switch formats. That's unacceptable to me. I am willing to pay for the convenience of an online service if that service was in fact convenient and I could get a feeling what I'm paying for. This does not mean DRM [this is finally dawned upon the companies]. A consumer expects that just like when he buys a car where he can drive it on what ever road he wants, the same would happen with the music. Since Apple allow for non-drm music in itunes - this is the last thing that needs to change in order for me to buy my music there. (also, I think the price is a bit high but that's just a matter of pricing which is solved by market forces) As soon as those online service evolve into something that is really convenient there will be no reason for the average user to want to pirate. pirating will never completely disappear but they'll be a minor thing.
Your claim is that most people only pirate for convenience. I can see this for some, but I do not see it as a majority. I know people will not only buy products the pirate because the like them, but pirate products they bought to have more control over them. I realize that helps your case and not mine, but I facts are good to have.
 If what you said was true than Red Hat and Novel wouldn't lasted more
 than a day. after all you can legally download their products from
 their
  respective websites!
Their business model is to make money off the support for their software, not the software itself.
exactly. just one of the million posibilities of viable business models that do not equate the consumer and end user of the product to thieves, pirates and sinners in general.
You can sell software/music... and not treat your customers as thieves. Your only say that this model makes it impossible for an end-user to become one.
 
 
 The issue is not whether piracy is moral or not. it's a fact of life -
 the internet provides an efficient means for distribution of
 information. either you take advantage of it or you insist on your old
 irrelevant business model and go extinct.
Selling software/music/video/intellectual property for money is an extinct business model...? If that's your argument then o_O.
That's partly my argument. When was the last time you used a telegraph? That technology was replaced be better technologies. So what what about all those people that where trained with Morse code and telegraph equipment? Should the government force us to use telegraphs in order for them to keep their jobs? What about silent film actors? today actors are required to be able to speak properly as part of their profession, So what about all those actors that cannot speak properly? There are of course more examples where a new technology deprecated some profession or job. Same goes for all the jobs at record companies - they are unneeded and the record company itself is redundant in a world where the artist can create he's work alone and reach his audience directly via the web.
This statement shows that we are fight 2 different battles. I don't care about record companies, and I don't think Robert does either. If you aren't buying records/cds whatever it is they do to publish work, they don't need to make money. However, the creator/composer/programmer what- have-you can/should/does have the right to charge/limit/collect/deny... what-not his work in any manner he sees fit. If he goes through a record company that is the only legal distribution of his work that can be obtained. You do not have the right to decide his choice of distribution is invalid because it does not suit you. When you buy it you are also not buying the right to redistribute it. The owner also has the right to limit the medium to which his product can run. While I think these things, DRM, are stupid it is still their right, and thus I decided not to buy it. Unfortunately that is how the free market work. It is not a matter of, If I want the product I can access it by any means necessary, but I can either live with the choice of the author or boycott it. And boycotting fails because of the number of people that go with option 1. Question, a lot of your argument rides on the one that pirated either getting others to buy the product or purchasing other products from the creator. What if none of that happens and the creator makes no money on said pirate, is it still not stealing?
 
 
 business 101 - "The customer
 is always right." the moment they (RIAA, MPAA, etc..) broke that rule
 because they refused to evolve with respect to new technology and
 business models is the moment they signed their death warrants.

 I prefer supporting music artists by going to a concert and paying
 100$ for a ticket rather than paying for CDs with shitty music the
 records companies advertise and try to stick in my throat.

 one last thing, before suggesting more penalties and such please read
 the following: http://www.gnu.org/philosophy/right-to-read.html
 *after* reading this, are you sure still that this is the way to go?
I think what a lot of these arguments boil down to is people trying to justify taking stuff without paying for it. Plain and simple. I do on occasion download videos (these days only anime fansubs). And I don't feel bad about it. But I do know it's stealing. Downloading a $10 CD is really no better than shoplifting a $10 CD, because the people who worked to bring that CD into existence are not being paid for it.
Aug 14 2008
parent reply Brad Roberts <braddr puremagic.com> writes:
<snip thread arguing both sides of the is there such a thing as IP>

Guys.. I highly suggest just dropping this part of the thread.  Neither
side will ever change the mind of the other.  It's a waste of time and
energy.

Later,
Brad
Aug 14 2008
next sibling parent reply Yigal Chripun <yigal100 gmail.com> writes:
Brad Roberts wrote:
 <snip thread arguing both sides of the is there such a thing as IP>
 
 Guys.. I highly suggest just dropping this part of the thread.  Neither
 side will ever change the mind of the other.  It's a waste of time and
 energy.
 
 Later,
 Brad
Sure IP exists. How could we communicate here otherwise? ;)
Aug 15 2008
parent Bruno Medeiros <brunodomedeiros+spam com.gmail> writes:
Yigal Chripun wrote:
 Brad Roberts wrote:
 <snip thread arguing both sides of the is there such a thing as IP>

 Guys.. I highly suggest just dropping this part of the thread.  Neither
 side will ever change the mind of the other.  It's a waste of time and
 energy.

 Later,
 Brad
Sure IP exists. How could we communicate here otherwise? ;)
With tubes of course... -- Bruno Medeiros - Software Developer, MSc. in CS/E graduate http://www.prowiki.org/wiki4d/wiki.cgi?BrunoMedeiros#D
Aug 15 2008
prev sibling parent reply Robert Fraser <fraserofthenight gmail.com> writes:
Brad Roberts wrote:
 <snip thread arguing both sides of the is there such a thing as IP>
 
 Guys.. I highly suggest just dropping this part of the thread.  Neither
 side will ever change the mind of the other.  It's a waste of time and
 energy.
 
 Later,
 Brad
Indeed, that would be the mature thing to do... but (like all internet wars), there's some fun to be had ;-P.
Aug 15 2008
parent BCS <ao pathlink.com> writes:
Reply to Robert,

 Brad Roberts wrote:
 
 <snip thread arguing both sides of the is there such a thing as IP>
 
 Guys.. I highly suggest just dropping this part of the thread.
 Neither side will ever change the mind of the other.  It's a waste of
 time and energy.
 
 Later,
 Brad
Indeed, that would be the mature thing to do... but (like all internet wars), there's some fun to be had ;-P.
WE NEED A digitalmars.D.OT!
Aug 15 2008
prev sibling parent downs <default_357-line yahoo.de> writes:
Robert Fraser wrote:
 Yigal Chripun Wrote:
 
 Robert Fraser wrote:
  > I've had very mixed feelings about all this. One one hand, the letter
 of the
 law may be questionably constitutional. But millions of dollars every day are
 lost because people (including myself occasionally...) steal copyrighted
 material. Honestly, I think there should be much stricter penalties for
 things like internet piracy, because it's simply so widespread and damaging.
Of course you have the right to have your own opinion (that's also in the constitution) but all of the above is bullshit. (sorry for the language). stealing only applies to physical things like chairs and cars. that whole metaphor of information as physical entities is wrong. you sure can infringe someone's copyrights but you cannot steal anything since there's nothing to steal.
Some philosopher said that all philosophical debates were inherently linguistic ones that stemmed from not having the words to represent the concepts being spoken about. We're using different definitions of "steal," but the concept is clear -- it's taking something you don't have the right to have taken without paying for, and the debate is over whether you do or should have that right.
Apparently the concept is not clear, because we're not talking about "taking". We're talking about copying. Not the same thing.
 Now that we cleared that out of the way, let's touch other nonsenses in
 what you wrote:

 A) "millions of dollars every day are lost..." - Not true. you assume
 that if a person doesn't pirate he would have payed for the stuff. this
 is a wrong assumption since the majority of people would just use other
 alternatives.
Sure not everyone would have paid. But at least one person would have paid. Back in high school, I would have paid for a lot of the music I downloaded (perhaps not all of it) -- but I didn't since it was so easy for me to pirate it. The statement is that piracy costs at least $1 million/day in LOST SALES; if you would have used a free alternative, that's not factored into the argument.
Proof by anecdote. Good going.
 if I wouldn't be able to pirate MS office 
Mah paycheck!!! (that's paying me to post on D NGs...)
 I'd probably
 search for a cheap commercial solution or install Open Office which is
 good enough for me and most other private people and small companies. no
 one in their right mind would pay 500$ for an office suit. think
 globally: in US standards paying for software is not that expensive and
 is convenient (and you pay for that as well) but for most of the world
 those prices are high. in Israel 500$ translates to roughly 2000 NIS
 which is a lot.
 B)"it's simply so ... damaging" - not so.
 If you look at music and films than the image is backwards: since it's
 easy to pirate I can download a lot of stuff try it out and only keep
 what I like. If I like it I'll tell friends and more people will be
 exposed to the content. pirating actually makes money for the copyright
 holder and helps him get recognized since it's advertising they don't
 need to pay for.
I'm going to cry bull**** here. Quite a few sites offer legit free music/ video. The content creators/producers have made this available for precisely the reason you said -- so people view it and tell their friends or choose to buy higher-quality versions of it. The stuff they DON'T make available for free is not there because it is more profitable for them not to make it available. The creators/producers choose what to share for free -- NOT the consumers.
 If what you said was true than Red Hat and Novel wouldn't lasted more
 than a day. after all you can legally download their products from their
  respective websites!
Their business model is to make money off the support for their software, not the software itself.
I think he knows that.
 The issue is not whether piracy is moral or not. it's a fact of life -
 the internet provides an efficient means for distribution of
 information. either you take advantage of it or you insist on your old
 irrelevant business model and go extinct. 
Selling software/music/video/intellectual property for money is an extinct business model...? If that's your argument then o_O.
It's on its way out.
 business 101 - "The customer
 is always right." the moment they (RIAA, MPAA, etc..) broke that rule
 because they refused to evolve with respect to new technology and
 business models is the moment they signed their death warrants.

 I prefer supporting music artists by going to a concert and paying 100$
 for a ticket rather than paying for CDs with shitty music the records
 companies advertise and try to stick in my throat.

 one last thing, before suggesting more penalties and such please read
 the following: http://www.gnu.org/philosophy/right-to-read.html
 *after* reading this, are you sure still that this is the way to go?
I think what a lot of these arguments boil down to is people trying to justify taking stuff without paying for it. Plain and simple. I do on occasion download videos (these days only anime fansubs). And I don't feel bad about it. But I do know it's stealing.
Then you are wrong. :)
 Downloading a $10 CD is really
 no better than shoplifting a $10 CD, because the people who worked to
 bring that CD into existence are not being paid for it.
And how many cents off that CD do you think the people who made it will ever see? Not that this is relevant, since it is. not. stealing.
Aug 15 2008
prev sibling parent reply Sean Kelly <sean invisibleduck.org> writes:
Walter Bright wrote:
 Steven Schveighoffer wrote:
 I don't know the details of the license that Walter gave to the Tango 
 devs, 
It's as I posted here. Tango may use any part of Phobos and *relicense* it under the Tango license that I have the power to do.
 but according to Phobos' license, no explicit permission is needed as 
 long as you obey the license terms (which is pretty free in its 
 terms), and in fact, Tango has the Phobos license in the runtime 
 anyways, and obeys the license that ships with Phobos.  So I don't see 
 how it is relevant that Walter gave a specific license to Tango, it 
 was not required (at least that's my understanding).  It should be the 
 same thing for Walter to accept Tango's modified version of the 
 runtime (just include a copy of Tango's license).  My understanding is 
 that Walter is against doing that for the purpose of avoiding having 2 
 licenses in phobos.  Both licenses are very similar, and completely 
 compatible.  I see that Walter doesn't like it, but I don't see why it 
 is a problem?  Perhaps you could elaborate more, Walter.
I don't know what more needs to be elaborated. There are two reasons for this: 1. To ensure Phobos is free of any legal taint and any accusations of stealing code. 2. To avoid the untenable issue of a single module in Phobos having different license for different lines of code.
 Also, I would like to know specifically what Walter needs from the 
 Tango team.  What could it be that he needs that the Tango team is 
 against?
What specifically I'd like from the Tango team is explicit permission for the Phobos team to go over the Tango code and be able to copy/use whatever portions of it are necessary to get the two libraries to have a compatible core, and to relicense those parts under the corresponding Phobos license.
I think this is arguably a reasonable first step, but working towards a compatible core still means two separate cores, which means not being able to use Tango and Phobos together in the same app. So I'll admit to not completely understanding the reasoning behind this approach, but it's the only option so I'm happy to comply. Frankly, I don't want to be stuck maintaining the Tango runtime from now until doomsday anyway :-) Sean
Aug 14 2008
parent reply Walter Bright <newshound1 digitalmars.com> writes:
Sean Kelly wrote:
 What specifically I'd like from the Tango team is explicit permission 
 for the Phobos team to go over the Tango code and be able to copy/use 
 whatever portions of it are necessary to get the two libraries to have 
 a compatible core, and to relicense those parts under the 
 corresponding Phobos license.
I think this is arguably a reasonable first step, but working towards a compatible core still means two separate cores, which means not being able to use Tango and Phobos together in the same app. So I'll admit to not completely understanding the reasoning behind this approach, but it's the only option so I'm happy to comply. Frankly, I don't want to be stuck maintaining the Tango runtime from now until doomsday anyway :-)
If the cores are compatible at the API level, then one should be able to mix and match Tango/Phobos user level modules.
Aug 14 2008
next sibling parent reply "Jarrett Billingsley" <kb3ctd2 yahoo.com> writes:
"Walter Bright" <newshound1 digitalmars.com> wrote in message 
news:g82ua5$1l6d$1 digitalmars.com...
 Sean Kelly wrote:
 What specifically I'd like from the Tango team is explicit permission 
 for the Phobos team to go over the Tango code and be able to copy/use 
 whatever portions of it are necessary to get the two libraries to have a 
 compatible core, and to relicense those parts under the corresponding 
 Phobos license.
I think this is arguably a reasonable first step, but working towards a compatible core still means two separate cores, which means not being able to use Tango and Phobos together in the same app. So I'll admit to not completely understanding the reasoning behind this approach, but it's the only option so I'm happy to comply. Frankly, I don't want to be stuck maintaining the Tango runtime from now until doomsday anyway :-)
If the cores are compatible at the API level, then one should be able to mix and match Tango/Phobos user level modules.
Why one would want to do that is beyond me. If/when this licensing bullshit ever gets sorted, we still have the problem of two standard libraries designed with different goals and duplicate functionality. What then? How is that a solution? If it takes over a year to sort this licensing stuff, how long will it take to (god forbid) merge the two libraries? What are we solving here?
Aug 14 2008
parent reply "Jarrett Billingsley" <kb3ctd2 yahoo.com> writes:
"Jarrett Billingsley" <kb3ctd2 yahoo.com> wrote in message 
news:g82uob$1mg2$1 digitalmars.com...
 "Walter Bright" <newshound1 digitalmars.com> wrote in message 
 news:g82ua5$1l6d$1 digitalmars.com...
 Sean Kelly wrote:
 What specifically I'd like from the Tango team is explicit permission 
 for the Phobos team to go over the Tango code and be able to copy/use 
 whatever portions of it are necessary to get the two libraries to have 
 a compatible core, and to relicense those parts under the corresponding 
 Phobos license.
I think this is arguably a reasonable first step, but working towards a compatible core still means two separate cores, which means not being able to use Tango and Phobos together in the same app. So I'll admit to not completely understanding the reasoning behind this approach, but it's the only option so I'm happy to comply. Frankly, I don't want to be stuck maintaining the Tango runtime from now until doomsday anyway :-)
If the cores are compatible at the API level, then one should be able to mix and match Tango/Phobos user level modules.
Why one would want to do that is beyond me.
No, don't interpret this as standard-library-fanboyism. By this I mean that even if you _could_ import modules from both phobos and tango, it would be next to impossible to use them together. They each have their own types, functions etc. for anything more complex than string manipulations and math (and even there they differ). You can't use a std.stream.Stream and a tango.io.Conduit together. You use one or the other. Hence, nothing has been solved.
Aug 14 2008
next sibling parent Robert Fraser <fraserofthenight gmail.com> writes:
Jarrett Billingsley wrote:
 "Jarrett Billingsley" <kb3ctd2 yahoo.com> wrote in message 
 news:g82uob$1mg2$1 digitalmars.com...
 "Walter Bright" <newshound1 digitalmars.com> wrote in message 
 news:g82ua5$1l6d$1 digitalmars.com...
 Sean Kelly wrote:
 What specifically I'd like from the Tango team is explicit permission 
 for the Phobos team to go over the Tango code and be able to copy/use 
 whatever portions of it are necessary to get the two libraries to have 
 a compatible core, and to relicense those parts under the corresponding 
 Phobos license.
I think this is arguably a reasonable first step, but working towards a compatible core still means two separate cores, which means not being able to use Tango and Phobos together in the same app. So I'll admit to not completely understanding the reasoning behind this approach, but it's the only option so I'm happy to comply. Frankly, I don't want to be stuck maintaining the Tango runtime from now until doomsday anyway :-)
If the cores are compatible at the API level, then one should be able to mix and match Tango/Phobos user level modules.
Why one would want to do that is beyond me.
No, don't interpret this as standard-library-fanboyism. By this I mean that even if you _could_ import modules from both phobos and tango, it would be next to impossible to use them together. They each have their own types, functions etc. for anything more complex than string manipulations and math (and even there they differ). You can't use a std.stream.Stream and a tango.io.Conduit together. You use one or the other. Hence, nothing has been solved.
I think the idea is you could, say, use DWT (Tango) and DMDScript (Phobos) in the same application.
Aug 14 2008
prev sibling parent Walter Bright <newshound1 digitalmars.com> writes:
Jarrett Billingsley wrote:
 By this I mean that 
 even if you _could_ import modules from both phobos and tango, it would be 
 next to impossible to use them together.  They each have their own types, 
 functions etc. for anything more complex than string manipulations and math 
 (and even there they differ).  You can't use a std.stream.Stream and a 
 tango.io.Conduit together.  You use one or the other.  Hence, nothing has 
 been solved. 
I don't think anyone expects to mix up Stream and Conduit. But they should be able to mix up tango.io.Conduit with std.algorithm.
Aug 14 2008
prev sibling parent reply Sean Kelly <sean invisibleduck.org> writes:
Walter Bright wrote:
 Sean Kelly wrote:
 What specifically I'd like from the Tango team is explicit permission 
 for the Phobos team to go over the Tango code and be able to copy/use 
 whatever portions of it are necessary to get the two libraries to 
 have a compatible core, and to relicense those parts under the 
 corresponding Phobos license.
I think this is arguably a reasonable first step, but working towards a compatible core still means two separate cores, which means not being able to use Tango and Phobos together in the same app. So I'll admit to not completely understanding the reasoning behind this approach, but it's the only option so I'm happy to comply. Frankly, I don't want to be stuck maintaining the Tango runtime from now until doomsday anyway :-)
If the cores are compatible at the API level, then one should be able to mix and match Tango/Phobos user level modules.
I think it will turn out to be more complicated than that. The runtime contains user-visible code as well as the compiler support code and GC: exception definitions, the thread code, etc. And Phobos vs. Tango have different exception hierarchies, at the very least. Sean
Aug 14 2008
next sibling parent reply "Koroskin Denis" <2korden gmail.com> writes:
On Fri, 15 Aug 2008 09:29:31 +0400, Sean Kelly <sean invisibleduck.org>  
wrote:

 Walter Bright wrote:
 Sean Kelly wrote:
 What specifically I'd like from the Tango team is explicit permission  
 for the Phobos team to go over the Tango code and be able to copy/use  
 whatever portions of it are necessary to get the two libraries to  
 have a compatible core, and to relicense those parts under the  
 corresponding Phobos license.
I think this is arguably a reasonable first step, but working towards a compatible core still means two separate cores, which means not being able to use Tango and Phobos together in the same app. So I'll admit to not completely understanding the reasoning behind this approach, but it's the only option so I'm happy to comply. Frankly, I don't want to be stuck maintaining the Tango runtime from now until doomsday anyway :-)
If the cores are compatible at the API level, then one should be able to mix and match Tango/Phobos user level modules.
I think it will turn out to be more complicated than that. The runtime contains user-visible code as well as the compiler support code and GC: exception definitions, the thread code, etc. And Phobos vs. Tango have different exception hierarchies, at the very least. Sean
Isn't it part of a runtime, i.e. something that is about to be unified?
Aug 14 2008
parent Sean Kelly <sean invisibleduck.org> writes:
Koroskin Denis wrote:
 On Fri, 15 Aug 2008 09:29:31 +0400, Sean Kelly <sean invisibleduck.org> 
 wrote:
 
 Walter Bright wrote:
 Sean Kelly wrote:
 What specifically I'd like from the Tango team is explicit 
 permission for the Phobos team to go over the Tango code and be 
 able to copy/use whatever portions of it are necessary to get the 
 two libraries to have a compatible core, and to relicense those 
 parts under the corresponding Phobos license.
I think this is arguably a reasonable first step, but working towards a compatible core still means two separate cores, which means not being able to use Tango and Phobos together in the same app. So I'll admit to not completely understanding the reasoning behind this approach, but it's the only option so I'm happy to comply. Frankly, I don't want to be stuck maintaining the Tango runtime from now until doomsday anyway :-)
If the cores are compatible at the API level, then one should be able to mix and match Tango/Phobos user level modules.
I think it will turn out to be more complicated than that. The runtime contains user-visible code as well as the compiler support code and GC: exception definitions, the thread code, etc. And Phobos vs. Tango have different exception hierarchies, at the very least.
Isn't it part of a runtime, i.e. something that is about to be unified?
But this is more than just duplicating functionality. If the user wants to create a thread, what module does he import? Having compatible runtimes isn't quite the same has sharing a single common runtime. Sean
Aug 14 2008
prev sibling parent reply "Steven Schveighoffer" <schveiguy yahoo.com> writes:
"Sean Kelly" <sean invisibleduck.org> wrote in message 
news:g8347r$201b$1 digitalmars.com...
 Walter Bright wrote:
 Sean Kelly wrote:
 What specifically I'd like from the Tango team is explicit permission 
 for the Phobos team to go over the Tango code and be able to copy/use 
 whatever portions of it are necessary to get the two libraries to have 
 a compatible core, and to relicense those parts under the corresponding 
 Phobos license.
I think this is arguably a reasonable first step, but working towards a compatible core still means two separate cores, which means not being able to use Tango and Phobos together in the same app. So I'll admit to not completely understanding the reasoning behind this approach, but it's the only option so I'm happy to comply. Frankly, I don't want to be stuck maintaining the Tango runtime from now until doomsday anyway :-)
If the cores are compatible at the API level, then one should be able to mix and match Tango/Phobos user level modules.
I think it will turn out to be more complicated than that. The runtime contains user-visible code as well as the compiler support code and GC: exception definitions, the thread code, etc. And Phobos vs. Tango have different exception hierarchies, at the very least.
As far as threads, I agree. One must be chosen. As far as exceptions, yes, one base must be chosen, and the exceptions put forth by the compiler must be chosen, but higher level exceptions do not have to be part of the runtime. For example, in Tango, socket exceptions are in the same module as array bound exception (which is needed by the compiler). These should be separated if we are to have a common runtime. And in that case, I think you can draw a clear line: what is needed to compile programs, and what is needed to start the runtime. Everything else should be standard library code, and should be relegated to whatever you fancy as the runtime. I propose these essential classes and modules be moved into a separate package, like std.runtime. So you would have std.runtime.thread, std.runtime.exception, etc. Or whatever. Then the line is even clearer. -Steve
Aug 15 2008
next sibling parent reply Sean Kelly <sean invisibleduck.org> writes:
Steven Schveighoffer wrote:
 "Sean Kelly" <sean invisibleduck.org> wrote in message 
 news:g8347r$201b$1 digitalmars.com...
 Walter Bright wrote:
 Sean Kelly wrote:
 What specifically I'd like from the Tango team is explicit permission 
 for the Phobos team to go over the Tango code and be able to copy/use 
 whatever portions of it are necessary to get the two libraries to have 
 a compatible core, and to relicense those parts under the corresponding 
 Phobos license.
I think this is arguably a reasonable first step, but working towards a compatible core still means two separate cores, which means not being able to use Tango and Phobos together in the same app. So I'll admit to not completely understanding the reasoning behind this approach, but it's the only option so I'm happy to comply. Frankly, I don't want to be stuck maintaining the Tango runtime from now until doomsday anyway :-)
If the cores are compatible at the API level, then one should be able to mix and match Tango/Phobos user level modules.
I think it will turn out to be more complicated than that. The runtime contains user-visible code as well as the compiler support code and GC: exception definitions, the thread code, etc. And Phobos vs. Tango have different exception hierarchies, at the very least.
As far as threads, I agree. One must be chosen. As far as exceptions, yes, one base must be chosen, and the exceptions put forth by the compiler must be chosen, but higher level exceptions do not have to be part of the runtime. For example, in Tango, socket exceptions are in the same module as array bound exception (which is needed by the compiler). These should be separated if we are to have a common runtime.
This decision camw fairly late in the game, and the basic reasoning was that we wanted to establish a formal exception hierarchy. So a bunch of relatively standard exceptions were moved into tango.core.Exception to populate the hierarchy. The alternative would have been for multiple packages in Tango to try and declare and share a common top-level Exception class, and that was just too messy. However, I think it's worth noting that none of the exceptions declared in tango.core are terribly specific. Even SocketException is extremely broad, and as applicable for end users as it is for Tango itself. For what it's worth, this is one of the few bits of the runtime that I didn't send to Walter because others were involved in designing the hierarchy. Since there's no real code involved in exception declarations it was probably over-cautious of me to omit it, but I didn't want there to be any risk of contention later.
 And in that case, I think you can draw a clear line: what is needed to 
 compile programs, and what is needed to start the runtime.  Everything else 
 should be standard library code, and should be relegated to whatever you 
 fancy as the runtime.
Tango was designed from the start such that the runtime (that is, the code which is loaded invisibly for every D application) consists of three distinct parts: * the compiler runtime (ie. language support code) * the garbage collector * some subset of the standard library which the compiler and GC code may depend upon This design has some great advantages: * People with special needs (such as kernel developers) can replace or stub out an entire subset of the runtime if the default version doesn't suit their needs * The compiler runtime is completely separate from the other runtime code and may be maintained entirely separately--ie. it has no dependencies on standard library code * The garbage collector is completely separate as well. In fact, the GC may be chosen at link-time simply by specifying a different library. Tango contains two GCs to demonstrate this: one is the classic mark/sweep GC and the other simply calls malloc and free. Unfortunately however, none of this gets around the issue that the standard library portion of the code must exist in only one location. And I expect that both the Phobos and Tango team have a vested interest in not changing how this stuff is exposed. In the case of Tango, this interest is backed by the fact that we have a book in print documenting this stuff, which also happens to be the only English book about D that I'm aware of.
 I propose these essential classes and modules be moved into a separate 
 package, like std.runtime.  So you would have std.runtime.thread, 
 std.runtime.exception, etc.  Or whatever.  Then the line is even clearer.
See above. That would be fine except for the confusion it would cause for readers of our book. Also, maintenance responsibility is a potential issue. None of these issues are addressed by a simple desire to share code. Sean
Aug 15 2008
next sibling parent reply Robert Fraser <fraserofthenight gmail.com> writes:
Sean Kelly wrote:
 I propose these essential classes and modules be moved into a separate 
 package, like std.runtime.  So you would have std.runtime.thread, 
 std.runtime.exception, etc.  Or whatever.  Then the line is even clearer.
See above. That would be fine except for the confusion it would cause for readers of our book. Also, maintenance responsibility is a potential issue. None of these issues are addressed by a simple desire to share code. Sean
I suppose the magic of aliases and templates couldn't help at all here (i.e. make tango.Thread a compile-time wrapper around std.runtime.thread ...?)
Aug 15 2008
parent reply Sean Kelly <sean invisibleduck.org> writes:
Robert Fraser wrote:
 Sean Kelly wrote:
 I propose these essential classes and modules be moved into a 
 separate package, like std.runtime.  So you would have 
 std.runtime.thread, std.runtime.exception, etc.  Or whatever.  Then 
 the line is even clearer.
See above. That would be fine except for the confusion it would cause for readers of our book. Also, maintenance responsibility is a potential issue. None of these issues are addressed by a simple desire to share code. Sean
I suppose the magic of aliases and templates couldn't help at all here (i.e. make tango.Thread a compile-time wrapper around std.runtime.thread ...?)
Currently, it's the opposite with Tango/Tangobos (std.thread.Thread basically aliases tango.core.Thread.Thread). But I consider this to be too much of a hack to have as a long-term solution. Sean
Aug 15 2008
parent reply "Steven Schveighoffer" <schveiguy yahoo.com> writes:
"Sean Kelly" wrote
 Robert Fraser wrote:
 Sean Kelly wrote:
 I propose these essential classes and modules be moved into a separate 
 package, like std.runtime.  So you would have std.runtime.thread, 
 std.runtime.exception, etc.  Or whatever.  Then the line is even 
 clearer.
See above. That would be fine except for the confusion it would cause for readers of our book. Also, maintenance responsibility is a potential issue. None of these issues are addressed by a simple desire to share code. Sean
I suppose the magic of aliases and templates couldn't help at all here (i.e. make tango.Thread a compile-time wrapper around std.runtime.thread ...?)
Currently, it's the opposite with Tango/Tangobos (std.thread.Thread basically aliases tango.core.Thread.Thread). But I consider this to be too much of a hack to have as a long-term solution.
The tango.core.Thread alias would be a convenience for backwards compatibility. It can be discouraged in favor of std.runtime.Thread. The only palatable solution I see is for a common namespace to exist. If you insist on the thread portion living in a namespace such as tango.core.Thread, then I can't see Phobos adopting that, and you are killing this whole compatibility project :( -Steve
Aug 15 2008
parent Sean Kelly <sean invisibleduck.org> writes:
Steven Schveighoffer wrote:
 "Sean Kelly" wrote
 Robert Fraser wrote:
 Sean Kelly wrote:
 I propose these essential classes and modules be moved into a separate 
 package, like std.runtime.  So you would have std.runtime.thread, 
 std.runtime.exception, etc.  Or whatever.  Then the line is even 
 clearer.
See above. That would be fine except for the confusion it would cause for readers of our book. Also, maintenance responsibility is a potential issue. None of these issues are addressed by a simple desire to share code. Sean
I suppose the magic of aliases and templates couldn't help at all here (i.e. make tango.Thread a compile-time wrapper around std.runtime.thread ...?)
Currently, it's the opposite with Tango/Tangobos (std.thread.Thread basically aliases tango.core.Thread.Thread). But I consider this to be too much of a hack to have as a long-term solution.
The tango.core.Thread alias would be a convenience for backwards compatibility. It can be discouraged in favor of std.runtime.Thread. The only palatable solution I see is for a common namespace to exist. If you insist on the thread portion living in a namespace such as tango.core.Thread, then I can't see Phobos adopting that, and you are killing this whole compatibility project :(
I would very much like to see a single standard library for D. But certainly you can see that what you're asking is for Tango to forego all the consideration that has gone into its current design simply because Phobos is somehow inviolate, while at the same time Phobos for some reason wants to benefit from all the work that has gone into Tango. I'd hardly consider this collaboration, so you can perhaps understand why some of the other Tango team members aren't quite so cooperative as I have been. Truth be told, my desire to be conciliatory has long since been replaced with a desire to simply be done with the drama. So regardless of my opinion above (which is admittedly rather jaded and defensive), or perhaps in light of the reasons behind it, I'm mostly interested in just moving on. And because of this, I don't feel it's fair for me to speak for the rest of the Tango team. I'm simply hoping to clear the air and am following through with the promises I made to Walter a year ago when we last discussed all this. Sean
Aug 15 2008
prev sibling parent reply "Steven Schveighoffer" <schveiguy yahoo.com> writes:
"Sean Kelly" wrote
 Steven Schveighoffer wrote:
 "Sean Kelly" <sean invisibleduck.org> wrote in message 
 news:g8347r$201b$1 digitalmars.com...
 Walter Bright wrote:
 Sean Kelly wrote:
 What specifically I'd like from the Tango team is explicit permission 
 for the Phobos team to go over the Tango code and be able to copy/use 
 whatever portions of it are necessary to get the two libraries to 
 have a compatible core, and to relicense those parts under the 
 corresponding Phobos license.
I think this is arguably a reasonable first step, but working towards a compatible core still means two separate cores, which means not being able to use Tango and Phobos together in the same app. So I'll admit to not completely understanding the reasoning behind this approach, but it's the only option so I'm happy to comply. Frankly, I don't want to be stuck maintaining the Tango runtime from now until doomsday anyway :-)
If the cores are compatible at the API level, then one should be able to mix and match Tango/Phobos user level modules.
I think it will turn out to be more complicated than that. The runtime contains user-visible code as well as the compiler support code and GC: exception definitions, the thread code, etc. And Phobos vs. Tango have different exception hierarchies, at the very least.
As far as threads, I agree. One must be chosen. As far as exceptions, yes, one base must be chosen, and the exceptions put forth by the compiler must be chosen, but higher level exceptions do not have to be part of the runtime. For example, in Tango, socket exceptions are in the same module as array bound exception (which is needed by the compiler). These should be separated if we are to have a common runtime.
This decision camw fairly late in the game, and the basic reasoning was that we wanted to establish a formal exception hierarchy. So a bunch of relatively standard exceptions were moved into tango.core.Exception to populate the hierarchy. The alternative would have been for multiple packages in Tango to try and declare and share a common top-level Exception class, and that was just too messy. However, I think it's worth noting that none of the exceptions declared in tango.core are terribly specific. Even SocketException is extremely broad, and as applicable for end users as it is for Tango itself.
I didn't mean exceptions need to be defined in individual modules, they can live in one file, but the user-lib exceptions need to be separate, because Phobos isn't going to care about Tango's SocketException for instance (or vice versa). There is nothing wrong with having runtime exceptions in one module, and being publicly imported in the user lib's exception module (which could remain as tango.core.Exception).
 For what it's worth, this is one of the few bits of the runtime that I 
 didn't send to Walter because others were involved in designing the 
 hierarchy.  Since there's no real code involved in exception declarations 
 it was probably over-cautious of me to omit it, but I didn't want there to 
 be any risk of contention later.

 And in that case, I think you can draw a clear line: what is needed to 
 compile programs, and what is needed to start the runtime.  Everything 
 else should be standard library code, and should be relegated to whatever 
 you fancy as the runtime.
Tango was designed from the start such that the runtime (that is, the code which is loaded invisibly for every D application) consists of three distinct parts: * the compiler runtime (ie. language support code) * the garbage collector * some subset of the standard library which the compiler and GC code may depend upon This design has some great advantages: * People with special needs (such as kernel developers) can replace or stub out an entire subset of the runtime if the default version doesn't suit their needs * The compiler runtime is completely separate from the other runtime code and may be maintained entirely separately--ie. it has no dependencies on standard library code * The garbage collector is completely separate as well. In fact, the GC may be chosen at link-time simply by specifying a different library. Tango contains two GCs to demonstrate this: one is the classic mark/sweep GC and the other simply calls malloc and free.
I agree that Tango's runtime design makes it ideal for splitting out from the user code.
 Unfortunately however, none of this gets around the issue that the 
 standard library portion of the code must exist in only one location. And 
 I expect that both the Phobos and Tango team have a vested interest in not 
 changing how this stuff is exposed.  In the case of Tango, this interest 
 is backed by the fact that we have a book in print documenting this stuff, 
 which also happens to be the only English book about D that I'm aware of.
Exposure can be aliased (see below).
 I propose these essential classes and modules be moved into a separate 
 package, like std.runtime.  So you would have std.runtime.thread, 
 std.runtime.exception, etc.  Or whatever.  Then the line is even clearer.
See above. That would be fine except for the confusion it would cause for readers of our book. Also, maintenance responsibility is a potential issue. None of these issues are addressed by a simple desire to share code.
This is my view (might not work, but I think it could). For purposes of simplicity, I'll assume Walter currently develops the Phobos runtime (not that he doesn't, but I'm really not sure :). Maintenance of the merged runtime would become Walter's responsibility, with your help if necessary (ideas and help understanding, and enhancements if you wish). Any changes desired for the runtime would go through Phobos (and Walter). The Tango lib would use the now tango-fied Phobos runtime, with alias imports for existing code (e.g. tango.core.Thread would either publicly import std.thread or would privately import it, and alias the Thread class). Phobos user lib code would do the same, although I'd suspect that since Walter is maintaining the runtime, he'd want to follow Phobos' package and naming conventions. The one requirement for it is that the Phobos runtime MUST be separate from the user lib, and not depend on it. So no calling on Andrei's fancy Phobos-only templates :) This is similar to how I wanted Thread to use TimeSpan, but we can't because TimeSpan is part of the user lib. People who have the book can still use the code and ideas presented in the book, because the imports will alias the real classes/structs from the new Phobos runtime. BTW, since the book was released, there have been a lot of breaking changes, so the edge of that point is dulled quite a bit. How does this sound (for both you and Walter)? -Steve
Aug 15 2008
next sibling parent reply Sean Kelly <sean invisibleduck.org> writes:
Steven Schveighoffer wrote:
 "Sean Kelly" wrote
 Steven Schveighoffer wrote:
 "Sean Kelly" <sean invisibleduck.org> wrote in message 
 news:g8347r$201b$1 digitalmars.com...
 Walter Bright wrote:
 Sean Kelly wrote:
 What specifically I'd like from the Tango team is explicit permission 
 for the Phobos team to go over the Tango code and be able to copy/use 
 whatever portions of it are necessary to get the two libraries to 
 have a compatible core, and to relicense those parts under the 
 corresponding Phobos license.
I think this is arguably a reasonable first step, but working towards a compatible core still means two separate cores, which means not being able to use Tango and Phobos together in the same app. So I'll admit to not completely understanding the reasoning behind this approach, but it's the only option so I'm happy to comply. Frankly, I don't want to be stuck maintaining the Tango runtime from now until doomsday anyway :-)
If the cores are compatible at the API level, then one should be able to mix and match Tango/Phobos user level modules.
I think it will turn out to be more complicated than that. The runtime contains user-visible code as well as the compiler support code and GC: exception definitions, the thread code, etc. And Phobos vs. Tango have different exception hierarchies, at the very least.
As far as threads, I agree. One must be chosen. As far as exceptions, yes, one base must be chosen, and the exceptions put forth by the compiler must be chosen, but higher level exceptions do not have to be part of the runtime. For example, in Tango, socket exceptions are in the same module as array bound exception (which is needed by the compiler). These should be separated if we are to have a common runtime.
This decision camw fairly late in the game, and the basic reasoning was that we wanted to establish a formal exception hierarchy. So a bunch of relatively standard exceptions were moved into tango.core.Exception to populate the hierarchy. The alternative would have been for multiple packages in Tango to try and declare and share a common top-level Exception class, and that was just too messy. However, I think it's worth noting that none of the exceptions declared in tango.core are terribly specific. Even SocketException is extremely broad, and as applicable for end users as it is for Tango itself.
I didn't mean exceptions need to be defined in individual modules, they can live in one file, but the user-lib exceptions need to be separate, because Phobos isn't going to care about Tango's SocketException for instance (or vice versa). There is nothing wrong with having runtime exceptions in one module, and being publicly imported in the user lib's exception module (which could remain as tango.core.Exception).
 For what it's worth, this is one of the few bits of the runtime that I 
 didn't send to Walter because others were involved in designing the 
 hierarchy.  Since there's no real code involved in exception declarations 
 it was probably over-cautious of me to omit it, but I didn't want there to 
 be any risk of contention later.

 And in that case, I think you can draw a clear line: what is needed to 
 compile programs, and what is needed to start the runtime.  Everything 
 else should be standard library code, and should be relegated to whatever 
 you fancy as the runtime.
Tango was designed from the start such that the runtime (that is, the code which is loaded invisibly for every D application) consists of three distinct parts: * the compiler runtime (ie. language support code) * the garbage collector * some subset of the standard library which the compiler and GC code may depend upon This design has some great advantages: * People with special needs (such as kernel developers) can replace or stub out an entire subset of the runtime if the default version doesn't suit their needs * The compiler runtime is completely separate from the other runtime code and may be maintained entirely separately--ie. it has no dependencies on standard library code * The garbage collector is completely separate as well. In fact, the GC may be chosen at link-time simply by specifying a different library. Tango contains two GCs to demonstrate this: one is the classic mark/sweep GC and the other simply calls malloc and free.
I agree that Tango's runtime design makes it ideal for splitting out from the user code.
 Unfortunately however, none of this gets around the issue that the 
 standard library portion of the code must exist in only one location. And 
 I expect that both the Phobos and Tango team have a vested interest in not 
 changing how this stuff is exposed.  In the case of Tango, this interest 
 is backed by the fact that we have a book in print documenting this stuff, 
 which also happens to be the only English book about D that I'm aware of.
Exposure can be aliased (see below).
 I propose these essential classes and modules be moved into a separate 
 package, like std.runtime.  So you would have std.runtime.thread, 
 std.runtime.exception, etc.  Or whatever.  Then the line is even clearer.
See above. That would be fine except for the confusion it would cause for readers of our book. Also, maintenance responsibility is a potential issue. None of these issues are addressed by a simple desire to share code.
This is my view (might not work, but I think it could). For purposes of simplicity, I'll assume Walter currently develops the Phobos runtime (not that he doesn't, but I'm really not sure :). Maintenance of the merged runtime would become Walter's responsibility, with your help if necessary (ideas and help understanding, and enhancements if you wish). Any changes desired for the runtime would go through Phobos (and Walter). The Tango lib would use the now tango-fied Phobos runtime, with alias imports for existing code (e.g. tango.core.Thread would either publicly import std.thread or would privately import it, and alias the Thread class).
My original goal was to have Walter maintain the DMD compiler runtime and leave the rest to the appropriate parties. Walter clearly can't maintain the entire runtime because Tango includes compiler runtimes for GDC (currently) and LLVMC (soon), etc. Each of these should ideally be maintained by the respective compiler author. One of the problems in my mind is that Phobos isn't portable, as justified by the fact that GDC contains GPhobos. It's an untenable long-term solution.
 Phobos user lib code would do the same, although I'd suspect that since 
 Walter is maintaining the runtime, he'd want to follow Phobos' package and 
 naming conventions.  The one requirement for it is that the Phobos runtime 
 MUST be separate from the user lib, and not depend on it.  So no calling on 
 Andrei's fancy Phobos-only templates :)  This is similar to how I wanted 
 Thread to use TimeSpan, but we can't because TimeSpan is part of the user 
 lib.
Yeah, I wanted to move TimeSpan into the runtime so this would be possible but was out-voted. But I think we both agree that the Tango design is fairly close to ideal in that the runtime is entirely separate from the user code (aside from some of the necessary exported bits).
 People who have the book can still use the code and ideas presented in the 
 book, because the imports will alias the real classes/structs from the new 
 Phobos runtime.
One concern I have about moving the runtime into Phobos is portability / flexibility. Will it be possible to use the runtime without the user code as it is in Tango? Will it continue to be compiler-agnostic? I'll admit that I completely fail to see the point of the language creator being the go-to man for the standard library as well.
 BTW, since the book was released, there have been a lot of breaking changes, 
 so the edge of that point is dulled quite a bit.
Few, if any, of those breaking changes were covered by the book as far as I'm aware.
 How does this sound (for both you and Walter)?
When you get right down to it, I really don't want to be stuck working on Tango for the rest of my life, so my feelings are mixed. I think that D accepting Tango as the official standard library and Walter et al. collaborating with the Tango maintainers would be the optimal solution for all concerned. However, I also don't want to be placed in a position where I'm the linchpin holding everything together. My personal responsibilities have grown considerably since Tango was started and that's far more time and responsibility than I want, barring a considerable paycheck for doing so. So in short I think it would be a bad idea but I'd probably agree to it anyway because doing so is in my own best interest. Sean
Aug 15 2008
parent "Steven Schveighoffer" <schveiguy yahoo.com> writes:
"Sean Kelly" wrote
 Steven Schveighoffer wrote:
 This is my view (might not work, but I think it could).  For purposes of 
 simplicity, I'll assume Walter currently develops the Phobos runtime (not 
 that he doesn't, but I'm really not sure :).

 Maintenance of the merged runtime would become Walter's responsibility, 
 with your help if necessary (ideas and help understanding, and 
 enhancements if you wish).  Any changes desired for the runtime would go 
 through Phobos (and Walter).  The Tango lib would use the now tango-fied 
 Phobos runtime, with alias imports for existing code (e.g. 
 tango.core.Thread would either publicly import std.thread or would 
 privately import it, and alias the Thread class).
My original goal was to have Walter maintain the DMD compiler runtime and leave the rest to the appropriate parties. Walter clearly can't maintain the entire runtime because Tango includes compiler runtimes for GDC (currently) and LLVMC (soon), etc. Each of these should ideally be maintained by the respective compiler author.
Again, for the purposes of simplicity, I said Walter, but I meant 'Phobos runtime developer'. I don't know who that is or will be.
 One of the problems in my mind is that Phobos isn't portable, as justified 
 by the fact that GDC contains GPhobos.  It's an untenable long-term 
 solution.
Then let's make it portable :) At least the runtime portion.
 Phobos user lib code would do the same, although I'd suspect that since 
 Walter is maintaining the runtime, he'd want to follow Phobos' package 
 and naming conventions.  The one requirement for it is that the Phobos 
 runtime MUST be separate from the user lib, and not depend on it.  So no 
 calling on Andrei's fancy Phobos-only templates :)  This is similar to 
 how I wanted Thread to use TimeSpan, but we can't because TimeSpan is 
 part of the user lib.
Yeah, I wanted to move TimeSpan into the runtime so this would be possible but was out-voted. But I think we both agree that the Tango design is fairly close to ideal in that the runtime is entirely separate from the user code (aside from some of the necessary exported bits).
 People who have the book can still use the code and ideas presented in 
 the book, because the imports will alias the real classes/structs from 
 the new Phobos runtime.
One concern I have about moving the runtime into Phobos is portability / flexibility. Will it be possible to use the runtime without the user code as it is in Tango?
It has to be in order for both Tango and Phobos to use it. That is a requirement (one which should be satisfied by copying Tango's runtime).
 Will it continue to be compiler-agnostic?
That, I can't say. But with effort, it can be maintained that way. Perhaps once the port is done, external compilers can own their respective compiler parts. If they are using the new runtime, it should also be compatible with Tango. My idea of the porting should involve repackaging the Tango runtime into a generic style (or at least one that suits whoever is maintaining it), and then porting both libs to use the new runtime. The checks and balances come when releases are made that break compatibility, we submit bugs, the runtime gets fixed. It works no different than Tango development does today, except that the runtime code lives in Phobos.
 How does this sound (for both you and Walter)?
When you get right down to it, I really don't want to be stuck working on Tango for the rest of my life, so my feelings are mixed. I think that D accepting Tango as the official standard library and Walter et al. collaborating with the Tango maintainers would be the optimal solution for all concerned.
As someone who prefers Tango, D accepting Tango as the standard library would be fine with me. But realistically, that ain't gonna happen :) You have to respect that Phobos developers have a lot of time and effort invested in Phobos, and to see it just get replaced would be a huge kick in the ass for them. I think the optimal solution is for both libraries to coexist, AND to be binary compatible.
 However, I also don't want to be placed in a position where I'm the 
 linchpin holding everything together.  My personal responsibilities have 
 grown considerably since Tango was started and that's far more time and 
 responsibility than I want, barring a considerable paycheck for doing so. 
 So in short I think it would be a bad idea but I'd probably agree to it 
 anyway because doing so is in my own best interest.
I think you might only be a linchpin until the port is done, then if you don't want to continue maintaining, I'm sure that void will get filled. -Steve
Aug 15 2008
prev sibling parent reply Lars Ivar Igesund <larsivar igesund.net> writes:
Steven Schveighoffer wrote:
 
 This is my view (might not work, but I think it could).  For purposes of
 simplicity, I'll assume Walter currently develops the Phobos runtime (not
 that he doesn't, but I'm really not sure :).
 
 Maintenance of the merged runtime would become Walter's responsibility,
 with your help if necessary (ideas and help understanding, and
 enhancements if
 you wish).  Any changes desired for the runtime would go through Phobos
 (and
 Walter).  The Tango lib would use the now tango-fied Phobos runtime, with
 alias imports for existing code (e.g. tango.core.Thread would either
 publicly import std.thread or would privately import it, and alias the
 Thread class).
Based on historical evidence, this doesn't sound like a particularly good idea. The current situation ensued for a reason. Also, I find that this discussion quite completely ignores the fact that DMD is not the only D compiler anymore, and Walter is not the only one with a vested interest in the functionality. In fact it looks like quite many of the Tango conference attendants wants to discuss the runtime. If there should be a common-common (not only "just" compatible) runtime, it shouldn't be controlled by one compiler vendor. Note that the Tango runtime consists of 3 parts, where only one is compiler specific. That particular part should probably be controlled/reviewed by the compiler vendor, the rest (GC, threading, other things) should be independent. -- Lars Ivar Igesund blog at http://larsivi.net DSource, #d.tango & #D: larsivi Dancing the Tango
Aug 15 2008
next sibling parent reply Lutger <lutger.blijdestijn gmail.com> writes:
Lars Ivar Igesund wrote:

 Steven Schveighoffer wrote:
  
 This is my view (might not work, but I think it could).  For purposes of
 simplicity, I'll assume Walter currently develops the Phobos runtime (not
 that he doesn't, but I'm really not sure :).
 
 Maintenance of the merged runtime would become Walter's responsibility,
 with your help if necessary (ideas and help understanding, and
 enhancements if
 you wish).  Any changes desired for the runtime would go through Phobos
 (and
 Walter).  The Tango lib would use the now tango-fied Phobos runtime, with
 alias imports for existing code (e.g. tango.core.Thread would either
 publicly import std.thread or would privately import it, and alias the
 Thread class).
Based on historical evidence, this doesn't sound like a particularly good idea. The current situation ensued for a reason. Also, I find that this discussion quite completely ignores the fact that DMD is not the only D compiler anymore, and Walter is not the only one with a vested interest in the functionality. In fact it looks like quite many of the Tango conference attendants wants to discuss the runtime.
How does it ignore it? It sounds rather like the opposite to me: the very existence of multiple runtimes and the vested interest in those runtimes (Tango's primarily) are the key reason for unification.
 If there should be a common-common (not only "just" compatible) runtime,
 it shouldn't be controlled by one compiler vendor. Note that the Tango
 runtime consists of 3 parts, where only one is compiler specific. That
 particular part should probably be controlled/reviewed by the compiler
 vendor, the rest (GC, threading, other things) should be independent.
I'll admit my understanding is limited, but I'd guess that will lead to even further fragmentation and non-portability. Wasn't D supposed to be more portable between compiler implementations than C++ as opposed to less portable?
Aug 15 2008
parent reply Lars Ivar Igesund <larsivar igesund.net> writes:
Lutger wrote:

 Lars Ivar Igesund wrote:
 
 Steven Schveighoffer wrote:
  
 This is my view (might not work, but I think it could).  For purposes of
 simplicity, I'll assume Walter currently develops the Phobos runtime
 (not that he doesn't, but I'm really not sure :).
 
 Maintenance of the merged runtime would become Walter's responsibility,
 with your help if necessary (ideas and help understanding, and
 enhancements if
 you wish).  Any changes desired for the runtime would go through Phobos
 (and
 Walter).  The Tango lib would use the now tango-fied Phobos runtime,
 with alias imports for existing code (e.g. tango.core.Thread would
 either publicly import std.thread or would privately import it, and
 alias the Thread class).
Based on historical evidence, this doesn't sound like a particularly good idea. The current situation ensued for a reason. Also, I find that this discussion quite completely ignores the fact that DMD is not the only D compiler anymore, and Walter is not the only one with a vested interest in the functionality. In fact it looks like quite many of the Tango conference attendants wants to discuss the runtime.
How does it ignore it? It sounds rather like the opposite to me: the very existence of multiple runtimes and the vested interest in those runtimes (Tango's primarily) are the key reason for unification.
Unification, yes. You misunderstood my point, which is that the runtime implementation (not the compiler specific portion and direct language support) should, IMO, be independent. As long as Walter/DigitalMars is the developer of the language itself, it will be natural that eventual new features that the language requires from the runtime, will be bootstrapped by code from Walter, but I think Sean's work on the runtime in Tango shows that such initial implementation can have large potential for improvements.
  
 If there should be a common-common (not only "just" compatible) runtime,
 it shouldn't be controlled by one compiler vendor. Note that the Tango
 runtime consists of 3 parts, where only one is compiler specific. That
 particular part should probably be controlled/reviewed by the compiler
 vendor, the rest (GC, threading, other things) should be independent.
I'll admit my understanding is limited, but I'd guess that will lead to even further fragmentation and non-portability.
The compiler part would have to conform to the necessary interfaces, of course, but at some level the implementation details needs to be, and not all can be kept in the compiler itself, thus it must be somewhere in the runtime. I don't see this as a problem, just a necessary evil. -- Lars Ivar Igesund blog at http://larsivi.net DSource, #d.tango & #D: larsivi Dancing the Tango
Aug 16 2008
next sibling parent reply Yigal Chripun <yigal100 gmail.com> writes:
Lars Ivar Igesund wrote:
 Lutger wrote:
 
 Lars Ivar Igesund wrote:

 Steven Schveighoffer wrote:
  
 This is my view (might not work, but I think it could).  For purposes of
 simplicity, I'll assume Walter currently develops the Phobos runtime
 (not that he doesn't, but I'm really not sure :).

 Maintenance of the merged runtime would become Walter's responsibility,
 with your help if necessary (ideas and help understanding, and
 enhancements if
 you wish).  Any changes desired for the runtime would go through Phobos
 (and
 Walter).  The Tango lib would use the now tango-fied Phobos runtime,
 with alias imports for existing code (e.g. tango.core.Thread would
 either publicly import std.thread or would privately import it, and
 alias the Thread class).
Based on historical evidence, this doesn't sound like a particularly good idea. The current situation ensued for a reason. Also, I find that this discussion quite completely ignores the fact that DMD is not the only D compiler anymore, and Walter is not the only one with a vested interest in the functionality. In fact it looks like quite many of the Tango conference attendants wants to discuss the runtime.
How does it ignore it? It sounds rather like the opposite to me: the very existence of multiple runtimes and the vested interest in those runtimes (Tango's primarily) are the key reason for unification.
Unification, yes. You misunderstood my point, which is that the runtime implementation (not the compiler specific portion and direct language support) should, IMO, be independent. As long as Walter/DigitalMars is the developer of the language itself, it will be natural that eventual new features that the language requires from the runtime, will be bootstrapped by code from Walter, but I think Sean's work on the runtime in Tango shows that such initial implementation can have large potential for improvements.
  
 If there should be a common-common (not only "just" compatible) runtime,
 it shouldn't be controlled by one compiler vendor. Note that the Tango
 runtime consists of 3 parts, where only one is compiler specific. That
 particular part should probably be controlled/reviewed by the compiler
 vendor, the rest (GC, threading, other things) should be independent.
I'll admit my understanding is limited, but I'd guess that will lead to even further fragmentation and non-portability.
The compiler part would have to conform to the necessary interfaces, of course, but at some level the implementation details needs to be, and not all can be kept in the compiler itself, thus it must be somewhere in the runtime. I don't see this as a problem, just a necessary evil.
I don't understand your point. are you suggesting that things like the GC will be independent from the compiler? It seems to me that the model suggested by Sean is the way to go: ie: my code ---------- standard library user code and standardized APIs to the runtime (threading, etc --------------------------------- compiler + runtime A | compiler + runtime B | ..... if a user isn't satisfied by runtime/compiler A he should just switch vendors. All the user facing APIs are standardized in the stdlib so all is needed is to recompile..
Aug 16 2008
next sibling parent reply Lars Ivar Igesund <larsivar igesund.net> writes:
Yigal Chripun wrote:

 Lars Ivar Igesund wrote:
 Lutger wrote:
 
 Lars Ivar Igesund wrote:

 Steven Schveighoffer wrote:
  
 This is my view (might not work, but I think it could).  For purposes
 of simplicity, I'll assume Walter currently develops the Phobos
 runtime (not that he doesn't, but I'm really not sure :).

 Maintenance of the merged runtime would become Walter's
 responsibility, with your help if necessary (ideas and help
 understanding, and enhancements if
 you wish).  Any changes desired for the runtime would go through
 Phobos (and
 Walter).  The Tango lib would use the now tango-fied Phobos runtime,
 with alias imports for existing code (e.g. tango.core.Thread would
 either publicly import std.thread or would privately import it, and
 alias the Thread class).
Based on historical evidence, this doesn't sound like a particularly good idea. The current situation ensued for a reason. Also, I find that this discussion quite completely ignores the fact that DMD is not the only D compiler anymore, and Walter is not the only one with a vested interest in the functionality. In fact it looks like quite many of the Tango conference attendants wants to discuss the runtime.
How does it ignore it? It sounds rather like the opposite to me: the very existence of multiple runtimes and the vested interest in those runtimes (Tango's primarily) are the key reason for unification.
Unification, yes. You misunderstood my point, which is that the runtime implementation (not the compiler specific portion and direct language support) should, IMO, be independent. As long as Walter/DigitalMars is the developer of the language itself, it will be natural that eventual new features that the language requires from the runtime, will be bootstrapped by code from Walter, but I think Sean's work on the runtime in Tango shows that such initial implementation can have large potential for improvements.
  
 If there should be a common-common (not only "just" compatible)
 runtime, it shouldn't be controlled by one compiler vendor. Note that
 the Tango runtime consists of 3 parts, where only one is compiler
 specific. That particular part should probably be controlled/reviewed
 by the compiler vendor, the rest (GC, threading, other things) should
 be independent.
I'll admit my understanding is limited, but I'd guess that will lead to even further fragmentation and non-portability.
The compiler part would have to conform to the necessary interfaces, of course, but at some level the implementation details needs to be, and not all can be kept in the compiler itself, thus it must be somewhere in the runtime. I don't see this as a problem, just a necessary evil.
I don't understand your point. are you suggesting that things like the GC will be independent from the compiler? It seems to me that the model suggested by Sean is the way to go: ie: my code ---------- standard library user code and standardized APIs to the runtime (threading, etc --------------------------------- compiler + runtime A | compiler + runtime B | ..... if a user isn't satisfied by runtime/compiler A he should just switch vendors. All the user facing APIs are standardized in the stdlib so all is needed is to recompile..
A common interface (API and ABI) would make this easier, but I just tend to think that a common implementation as long as possible would be even better - unification of efforts etc. -- Lars Ivar Igesund blog at http://larsivi.net DSource, #d.tango & #D: larsivi Dancing the Tango
Aug 16 2008
parent reply Yigal Chripun <yigal100 gmail.com> writes:
Lars Ivar Igesund wrote:
 Yigal Chripun wrote:
 
 Lars Ivar Igesund wrote:
 Lutger wrote:

 Lars Ivar Igesund wrote:

 Steven Schveighoffer wrote:
  
 This is my view (might not work, but I think it could).  For purposes
 of simplicity, I'll assume Walter currently develops the Phobos
 runtime (not that he doesn't, but I'm really not sure :).

 Maintenance of the merged runtime would become Walter's
 responsibility, with your help if necessary (ideas and help
 understanding, and enhancements if
 you wish).  Any changes desired for the runtime would go through
 Phobos (and
 Walter).  The Tango lib would use the now tango-fied Phobos runtime,
 with alias imports for existing code (e.g. tango.core.Thread would
 either publicly import std.thread or would privately import it, and
 alias the Thread class).
Based on historical evidence, this doesn't sound like a particularly good idea. The current situation ensued for a reason. Also, I find that this discussion quite completely ignores the fact that DMD is not the only D compiler anymore, and Walter is not the only one with a vested interest in the functionality. In fact it looks like quite many of the Tango conference attendants wants to discuss the runtime.
How does it ignore it? It sounds rather like the opposite to me: the very existence of multiple runtimes and the vested interest in those runtimes (Tango's primarily) are the key reason for unification.
Unification, yes. You misunderstood my point, which is that the runtime implementation (not the compiler specific portion and direct language support) should, IMO, be independent. As long as Walter/DigitalMars is the developer of the language itself, it will be natural that eventual new features that the language requires from the runtime, will be bootstrapped by code from Walter, but I think Sean's work on the runtime in Tango shows that such initial implementation can have large potential for improvements.
  
 If there should be a common-common (not only "just" compatible)
 runtime, it shouldn't be controlled by one compiler vendor. Note that
 the Tango runtime consists of 3 parts, where only one is compiler
 specific. That particular part should probably be controlled/reviewed
 by the compiler vendor, the rest (GC, threading, other things) should
 be independent.
I'll admit my understanding is limited, but I'd guess that will lead to even further fragmentation and non-portability.
The compiler part would have to conform to the necessary interfaces, of course, but at some level the implementation details needs to be, and not all can be kept in the compiler itself, thus it must be somewhere in the runtime. I don't see this as a problem, just a necessary evil.
I don't understand your point. are you suggesting that things like the GC will be independent from the compiler? It seems to me that the model suggested by Sean is the way to go: ie: my code ---------- standard library user code and standardized APIs to the runtime (threading, etc --------------------------------- compiler + runtime A | compiler + runtime B | ..... if a user isn't satisfied by runtime/compiler A he should just switch vendors. All the user facing APIs are standardized in the stdlib so all is needed is to recompile..
A common interface (API and ABI) would make this easier, but I just tend to think that a common implementation as long as possible would be even better - unification of efforts etc.
What's important to the end user IMHO is the API and ABI. having one unified GC implementation (for example) independent of a specific vendor will remove some work from the compiler vendor but Id think this is rather a bad thing. I prefer each vendor to provide his own GC implementation (keeping with my example) which of course conforms to the standards (API, ABI, ...) so that I can change to a different vendor easily without any changes to my code (all I need to do is recompile). The benefit is that the vendors will compete for runtime performance which is good for the end user. I can choose vendor A's GC since it is more efficient with regards to memory (if I care for that) or vendor B's GC if it's faster, etc.. All I care is that everything that is visible to the end user is standardized - i.e. I can do GC.collect() in my code since it's in the APIs and don't care if I use llvmdc, dil, dmd, gdc, etc.. ( I'll care for performance reasons and such of course and for that I can just switch to a different vendor without any code changes)
Aug 16 2008
parent reply Sean Kelly <sean invisibleduck.org> writes:
Yigal Chripun wrote:
 Lars Ivar Igesund wrote:
 Yigal Chripun wrote:

 Lars Ivar Igesund wrote:
 Lutger wrote:

 Lars Ivar Igesund wrote:

 Steven Schveighoffer wrote:
  
 This is my view (might not work, but I think it could).  For purposes
 of simplicity, I'll assume Walter currently develops the Phobos
 runtime (not that he doesn't, but I'm really not sure :).

 Maintenance of the merged runtime would become Walter's
 responsibility, with your help if necessary (ideas and help
 understanding, and enhancements if
 you wish).  Any changes desired for the runtime would go through
 Phobos (and
 Walter).  The Tango lib would use the now tango-fied Phobos runtime,
 with alias imports for existing code (e.g. tango.core.Thread would
 either publicly import std.thread or would privately import it, and
 alias the Thread class).
Based on historical evidence, this doesn't sound like a particularly good idea. The current situation ensued for a reason. Also, I find that this discussion quite completely ignores the fact that DMD is not the only D compiler anymore, and Walter is not the only one with a vested interest in the functionality. In fact it looks like quite many of the Tango conference attendants wants to discuss the runtime.
How does it ignore it? It sounds rather like the opposite to me: the very existence of multiple runtimes and the vested interest in those runtimes (Tango's primarily) are the key reason for unification.
Unification, yes. You misunderstood my point, which is that the runtime implementation (not the compiler specific portion and direct language support) should, IMO, be independent. As long as Walter/DigitalMars is the developer of the language itself, it will be natural that eventual new features that the language requires from the runtime, will be bootstrapped by code from Walter, but I think Sean's work on the runtime in Tango shows that such initial implementation can have large potential for improvements.
  
 If there should be a common-common (not only "just" compatible)
 runtime, it shouldn't be controlled by one compiler vendor. Note that
 the Tango runtime consists of 3 parts, where only one is compiler
 specific. That particular part should probably be controlled/reviewed
 by the compiler vendor, the rest (GC, threading, other things) should
 be independent.
I'll admit my understanding is limited, but I'd guess that will lead to even further fragmentation and non-portability.
The compiler part would have to conform to the necessary interfaces, of course, but at some level the implementation details needs to be, and not all can be kept in the compiler itself, thus it must be somewhere in the runtime. I don't see this as a problem, just a necessary evil.
I don't understand your point. are you suggesting that things like the GC will be independent from the compiler? It seems to me that the model suggested by Sean is the way to go: ie: my code ---------- standard library user code and standardized APIs to the runtime (threading, etc --------------------------------- compiler + runtime A | compiler + runtime B | ..... if a user isn't satisfied by runtime/compiler A he should just switch vendors. All the user facing APIs are standardized in the stdlib so all is needed is to recompile..
A common interface (API and ABI) would make this easier, but I just tend to think that a common implementation as long as possible would be even better - unification of efforts etc.
What's important to the end user IMHO is the API and ABI. having one unified GC implementation (for example) independent of a specific vendor will remove some work from the compiler vendor but Id think this is rather a bad thing. I prefer each vendor to provide his own GC implementation (keeping with my example) which of course conforms to the standards (API, ABI, ...) so that I can change to a different vendor easily without any changes to my code (all I need to do is recompile).
I'd prefer being able to choose the GC I want without needing the compiler vendor to supply it. Otherwise, the compiler vendor either needs to know how to write a GC (unlikely) or they need to bundle a third-party GC. Also, different applications have different memory requirements. Tango allows the GC to be chosen at link-time, which allows for a great deal of flexibility.
 The benefit is that the vendors will compete for runtime performance
 which is good for the end user. I can choose vendor A's GC since it is
 more efficient with regards to memory (if I care for that) or vendor B's
 GC if it's faster, etc..
Better to choose the GC separately from the compiler, then, so you can use the best of breed of each.
 All I care is that everything that is visible to the end user is
 standardized - i.e. I can do GC.collect() in my code since it's in the
 APIs and don't care if I use llvmdc, dil, dmd, gdc, etc.. ( I'll care
 for performance reasons and such of course and for that I can just
 switch to a different vendor without any code changes)
This is a standard library issue not a compiler runtime or GC issue. Sean
Aug 18 2008
parent reply Yigal Chripun <yigal100 gmail.com> writes:
Sean Kelly wrote:
 I'd prefer being able to choose the GC I want without needing the
 compiler vendor to supply it.  Otherwise, the compiler vendor either
 needs to know how to write a GC (unlikely) or they need to bundle a
 third-party GC.  Also, different applications have different memory
 requirements.  Tango allows the GC to be chosen at link-time, which
 allows for a great deal of flexibility. 
If we compare to Java than Sun provides more than one GC with its runtime and you can get even more specialized version GC if you really need it (real-time for example). I guess there's nothing wrong in getting a third party GC either. The point is that in Java those GCs are chosen by the runtime (you can specify if you run your app as a server or a client app and based on that the GC is chosen) or you can specify explicitly your GC too, I guess. Non of that should affect your code (unless you choose to use specific extensions to the GC API provided but a specialized GC). So, the choice of a GC doesn't affect your code.
 
 The benefit is that the vendors will compete for runtime performance
 which is good for the end user. I can choose vendor A's GC since it is
 more efficient with regards to memory (if I care for that) or vendor B's
 GC if it's faster, etc..
Better to choose the GC separately from the compiler, then, so you can use the best of breed of each.
 All I care is that everything that is visible to the end user is
 standardized - i.e. I can do GC.collect() in my code since it's in the
 APIs and don't care if I use llvmdc, dil, dmd, gdc, etc.. ( I'll care
 for performance reasons and such of course and for that I can just
 switch to a different vendor without any code changes)
This is a standard library issue not a compiler runtime or GC issue.
it is an issue with the compiler runtime/GC if there isn't a standard API and when I change my GC/runtime I need to edit the source.
 
 
 Sean
Aug 23 2008
next sibling parent reply Vincent Richomme <forumer smartmobili.com> writes:
Yigal Chripun a écrit :
 Sean Kelly wrote:
  > I'd prefer being able to choose the GC I want without needing the
 compiler vendor to supply it.  Otherwise, the compiler vendor either
 needs to know how to write a GC (unlikely) or they need to bundle a
 third-party GC.  Also, different applications have different memory
 requirements.  Tango allows the GC to be chosen at link-time, which
 allows for a great deal of flexibility. 
If we compare to Java than Sun provides more than one GC with its runtime and you can get even more specialized version GC if you really need it (real-time for example). I guess there's nothing wrong in getting a third party GC either. The point is that in Java those GCs are chosen by the runtime (you can specify if you run your app as a server or a client app and based on that the GC is chosen) or you can specify explicitly your GC too, I guess. Non of that should affect your code (unless you choose to use specific extensions to the GC API provided but a specialized GC). So, the choice of a GC doesn't affect your code.
 The benefit is that the vendors will compete for runtime performance
 which is good for the end user. I can choose vendor A's GC since it is
 more efficient with regards to memory (if I care for that) or vendor B's
 GC if it's faster, etc..
Better to choose the GC separately from the compiler, then, so you can use the best of breed of each.
 All I care is that everything that is visible to the end user is
 standardized - i.e. I can do GC.collect() in my code since it's in the
 APIs and don't care if I use llvmdc, dil, dmd, gdc, etc.. ( I'll care
 for performance reasons and such of course and for that I can just
 switch to a different vendor without any code changes)
This is a standard library issue not a compiler runtime or GC issue.
it is an issue with the compiler runtime/GC if there isn't a standard API and when I change my GC/runtime I need to edit the source.
 Sean
What I would like to know now: is there any progress between this Tango vs Phobos discussion... I still don't know if I can rely on Tango for my dev or on phobos and I think I am not the only one.
Aug 23 2008
next sibling parent reply Brian Price <blprice61 yahoo.com> writes:
My take on the Tango vs Phobos situation is:

For production use the only real choice is D1 (D2 being alpha) and it looks like
there are going to be so many changes in the language that going from a D1 app
to
a D2 app is going to require more than a bit of work and thought.

So, restricting the answer to D1, Tango seems to be a more full featured ,
robust,
and maintained library than Phobos.  I'd expect that to change in D2 and expect
the natural choice there will be Phobos (barring a ton of work by the Tango
crew).

Regardless of the choice of library for use with D1, moving to D2 with either
library looks like a chore since Phobos seems to be undergoing some (much
needed)
significant changes from D1 to D2 versions.

As to the larger topic, D is potentially caught on the horns of a dilemma: D1 is
not a significant enough advance on current languages to justify a move even if
there were no library concerns; D2 may well be enough of a step forward to
justify
a move but there is the issue of timing.  My take is that if the upcoming C++
standard makes it into compilers used in common production before D2 is ready
for
prime time that D may never gain a real foothold in mainstream use.  I'm hoping
that the D2 team sets a deadline and leaves some things for a future D3 rather
than miss the window of opportunity.

Brian
Aug 23 2008
parent reply Sean Kelly <sean invisibleduck.org> writes:
Brian Price wrote:
 My take on the Tango vs Phobos situation is:
 
 For production use the only real choice is D1 (D2 being alpha) and it looks
like
 there are going to be so many changes in the language that going from a D1 app
to
 a D2 app is going to require more than a bit of work and thought.
It's also worth mentioning that whatever is decided, no changes are likely to occur with D1 / Phobos1 because that version of D is frozen. So from a practical standpoint I think Tango and Tangobos will continue to be the preferred approach for development under D1.
 So, restricting the answer to D1, Tango seems to be a more full featured ,
robust,
 and maintained library than Phobos.  I'd expect that to change in D2 and expect
 the natural choice there will be Phobos (barring a ton of work by the Tango
crew).
Pretty much. Though having some sort of shared runtime /may/ affect how some of the features in tango.core are exposed. I would obviously prefer if Phobos just built on top of Tango as with the Tango / Tangobos solution for D1, but that doesn't seem likely to happen.
 Regardless of the choice of library for use with D1, moving to D2 with either
 library looks like a chore since Phobos seems to be undergoing some (much
needed)
 significant changes from D1 to D2 versions.
Yup.
 As to the larger topic, D is potentially caught on the horns of a dilemma: D1
is
 not a significant enough advance on current languages to justify a move even if
 there were no library concerns; D2 may well be enough of a step forward to
justify
 a move but there is the issue of timing.  My take is that if the upcoming C++
 standard makes it into compilers used in common production before D2 is ready
for
 prime time that D may never gain a real foothold in mainstream use.  I'm hoping
 that the D2 team sets a deadline and leaves some things for a future D3 rather
 than miss the window of opportunity.
In my opinion, the benefits of D1 over comparable mainstream languages are quite substantial but difficult to quantify. The elegance of the language tends to produce vastly more maintainable code than C++, for example, which is a huge win for team development. As far as D2 is concerned, I think it's really too early to say. My current opinion is that the feature additions in D2 impact the syntax in such a way that they eliminate much of the advantage of D1--stemming from elegance and simplicity--in exchange for largely theoretical benefits. But D2 is still in development so who knows. Sean
Aug 25 2008
parent reply superdan <super dan.org> writes:
Sean Kelly Wrote:

 Brian Price wrote:
 My take on the Tango vs Phobos situation is:
 
 For production use the only real choice is D1 (D2 being alpha) and it looks
like
 there are going to be so many changes in the language that going from a D1 app
to
 a D2 app is going to require more than a bit of work and thought.
It's also worth mentioning that whatever is decided, no changes are likely to occur with D1 / Phobos1 because that version of D is frozen. So from a practical standpoint I think Tango and Tangobos will continue to be the preferred approach for development under D1.
 So, restricting the answer to D1, Tango seems to be a more full featured ,
robust,
 and maintained library than Phobos.  I'd expect that to change in D2 and expect
 the natural choice there will be Phobos (barring a ton of work by the Tango
crew).
Pretty much. Though having some sort of shared runtime /may/ affect how some of the features in tango.core are exposed. I would obviously prefer if Phobos just built on top of Tango as with the Tango / Tangobos solution for D1, but that doesn't seem likely to happen.
glad to hear that. there's quite a few of us who aren't quite fans of tango. i'd rather wait for bartosh walt & andrei to put their weight behind phobos2.
 Regardless of the choice of library for use with D1, moving to D2 with either
 library looks like a chore since Phobos seems to be undergoing some (much
needed)
 significant changes from D1 to D2 versions.
Yup.
 As to the larger topic, D is potentially caught on the horns of a dilemma: D1
is
 not a significant enough advance on current languages to justify a move even if
 there were no library concerns; D2 may well be enough of a step forward to
justify
 a move but there is the issue of timing.  My take is that if the upcoming C++
 standard makes it into compilers used in common production before D2 is ready
for
 prime time that D may never gain a real foothold in mainstream use.  I'm hoping
 that the D2 team sets a deadline and leaves some things for a future D3 rather
 than miss the window of opportunity.
In my opinion, the benefits of D1 over comparable mainstream languages are quite substantial but difficult to quantify. The elegance of the language tends to produce vastly more maintainable code than C++, for example, which is a huge win for team development. As far as D2 is concerned, I think it's really too early to say. My current opinion is that the feature additions in D2 impact the syntax in such a way that they eliminate much of the advantage of D1--stemming from elegance and simplicity--in exchange for largely theoretical benefits. But D2 is still in development so who knows.
u realize if u don't want that to look like fud u better back that up. i mean we could be sittin' on our ass and muse on them theoretical & practical issues. or we could write d2 and bring real arguments to the table. so how much d2 code have you written. i know i switched to d2 as soon as it was out. i have nuff freedom work to write at least part of my code in whatever. the more versions arrive with new stuff the more d1 looks to me like an ass-backwards neanderthal tool made of sticks bear claws and silex. could even go as far as sayin' d1 ain't ever gonna make it to prime time. it's just a cute lil language that has a few merits marred by its issues. all languages are like that. d2... d2 feels different because it is different. larger ambitions to address real problems in innovative ways. and leave no shit behind like most languages do in pursuit of the mother of all features. and the new team has much more knowledge than walt alone. (sorry walt. but i guess u'd agree.) so sean. how much d2 did you write. hope you agree it's hard to claim it has no practical advantages if you haven't practically used it. the irony, eh.
Aug 25 2008
next sibling parent reply Sean Kelly <sean invisibleduck.org> writes:
superdan wrote:
 Sean Kelly Wrote:
 
 Brian Price wrote:
 My take on the Tango vs Phobos situation is:

 For production use the only real choice is D1 (D2 being alpha) and it looks
like
 there are going to be so many changes in the language that going from a D1 app
to
 a D2 app is going to require more than a bit of work and thought.
It's also worth mentioning that whatever is decided, no changes are likely to occur with D1 / Phobos1 because that version of D is frozen. So from a practical standpoint I think Tango and Tangobos will continue to be the preferred approach for development under D1.
 So, restricting the answer to D1, Tango seems to be a more full featured ,
robust,
 and maintained library than Phobos.  I'd expect that to change in D2 and expect
 the natural choice there will be Phobos (barring a ton of work by the Tango
crew).
Pretty much. Though having some sort of shared runtime /may/ affect how some of the features in tango.core are exposed. I would obviously prefer if Phobos just built on top of Tango as with the Tango / Tangobos solution for D1, but that doesn't seem likely to happen.
glad to hear that. there's quite a few of us who aren't quite fans of tango. i'd rather wait for bartosh walt & andrei to put their weight behind phobos2.
 Regardless of the choice of library for use with D1, moving to D2 with either
 library looks like a chore since Phobos seems to be undergoing some (much
needed)
 significant changes from D1 to D2 versions.
Yup.
 As to the larger topic, D is potentially caught on the horns of a dilemma: D1
is
 not a significant enough advance on current languages to justify a move even if
 there were no library concerns; D2 may well be enough of a step forward to
justify
 a move but there is the issue of timing.  My take is that if the upcoming C++
 standard makes it into compilers used in common production before D2 is ready
for
 prime time that D may never gain a real foothold in mainstream use.  I'm hoping
 that the D2 team sets a deadline and leaves some things for a future D3 rather
 than miss the window of opportunity.
In my opinion, the benefits of D1 over comparable mainstream languages are quite substantial but difficult to quantify. The elegance of the language tends to produce vastly more maintainable code than C++, for example, which is a huge win for team development. As far as D2 is concerned, I think it's really too early to say. My current opinion is that the feature additions in D2 impact the syntax in such a way that they eliminate much of the advantage of D1--stemming from elegance and simplicity--in exchange for largely theoretical benefits. But D2 is still in development so who knows.
u realize if u don't want that to look like fud u better back that up. i mean we could be sittin' on our ass and muse on them theoretical & practical issues. or we could write d2 and bring real arguments to the table. so how much d2 code have you written.
A bit. I ported the Tango runtime to D2 once. The rest comes from parallels with C++. For example, one of my major issues with D2 is the syntax of the const design. It's theoretically pretty slick, but I'm not at all happy with the prospect of maintaining duplicate function implementations simply to overload on const. This is one of the things that drove me crazy about C++, and D2 is even worse in this regard because it has not only 'const' but 'invariant' as well. And don't say "don't like const, don't use it," because that isn't an option for me as a library developer. Another issue is more to do with code portability than with D2 itself. That is, the meaning of 'const' has changed between D1 and D2, with 'invariant' effectively replacing what 'const' was used for in D1. This makes it impossible to create code that has the same meaning in both versions of the language. Eventually, D1 will be forgotten and no one will care about this any more, but for Tango right now this is a significant issue in my opinion. Much of the rest is cosmetic--the sort of thing Walter likes to call "barn door" issues. I hate that we're stuck with 'enum' to signify manifest constants, for example. Heck, I hate that D supports anonymous enums at all, but making this an official feature in D2 is just crazy IMO. Maybe not a big deal to you, but what drew me to D in the first place were largely what I'd consider cosmetic improvements over C++.
 i know i switched to d2 as soon as it was out. i have nuff freedom  
 work to write at least part of my code in whatever. the more versions
 arrive with new stuff the more d1 looks to me like an ass-backwards
 neanderthal tool made of sticks bear claws and silex. could even go as
 far as sayin' d1 ain't ever gonna make it to prime time. it's just a
 cute lil language that has a few merits marred by its issues. all
 languages  are like that. d2... d2 feels different because it is
 different. larger ambitions to address real problems in innovative
 ways.  and leave no shit behind like most languages do
 in pursuit of the mother of all features.
 and the new team has much more knowledge than walt alone. (sorry
 walt. but i guess u'd agree.)
Yeah, D1 is a cute little language, but it's eminently usable. All D2 really has going for it at the moment is the const stuff, and I quite honestly don't care about that. This isn't because I don't work on projects large enough to require it--my last project was a few million lines of C++ maintained by a decent sized team--but rather because I feel that inelegant syntax is a greater issue for maintenance than language support for data mutability. I'd simply rather have nothing than something that I think will produce unmaintainable code.
 so sean. how much d2 did you write. hope you agree it's hard to claim it has
no practical advantages if you haven't practically used it. the irony, eh.
Not enough to speak with experience, quite honestly. Perhaps that will chance with this shared runtime business. Sean
Aug 25 2008
next sibling parent reply superdan <super dan.org> writes:
Sean Kelly Wrote:

 superdan wrote:
 Sean Kelly Wrote:
 
 Brian Price wrote:
 My take on the Tango vs Phobos situation is:

 For production use the only real choice is D1 (D2 being alpha) and it looks
like
 there are going to be so many changes in the language that going from a D1 app
to
 a D2 app is going to require more than a bit of work and thought.
It's also worth mentioning that whatever is decided, no changes are likely to occur with D1 / Phobos1 because that version of D is frozen. So from a practical standpoint I think Tango and Tangobos will continue to be the preferred approach for development under D1.
 So, restricting the answer to D1, Tango seems to be a more full featured ,
robust,
 and maintained library than Phobos.  I'd expect that to change in D2 and expect
 the natural choice there will be Phobos (barring a ton of work by the Tango
crew).
Pretty much. Though having some sort of shared runtime /may/ affect how some of the features in tango.core are exposed. I would obviously prefer if Phobos just built on top of Tango as with the Tango / Tangobos solution for D1, but that doesn't seem likely to happen.
glad to hear that. there's quite a few of us who aren't quite fans of tango. i'd rather wait for bartosh walt & andrei to put their weight behind phobos2.
 Regardless of the choice of library for use with D1, moving to D2 with either
 library looks like a chore since Phobos seems to be undergoing some (much
needed)
 significant changes from D1 to D2 versions.
Yup.
 As to the larger topic, D is potentially caught on the horns of a dilemma: D1
is
 not a significant enough advance on current languages to justify a move even if
 there were no library concerns; D2 may well be enough of a step forward to
justify
 a move but there is the issue of timing.  My take is that if the upcoming C++
 standard makes it into compilers used in common production before D2 is ready
for
 prime time that D may never gain a real foothold in mainstream use.  I'm hoping
 that the D2 team sets a deadline and leaves some things for a future D3 rather
 than miss the window of opportunity.
In my opinion, the benefits of D1 over comparable mainstream languages are quite substantial but difficult to quantify. The elegance of the language tends to produce vastly more maintainable code than C++, for example, which is a huge win for team development. As far as D2 is concerned, I think it's really too early to say. My current opinion is that the feature additions in D2 impact the syntax in such a way that they eliminate much of the advantage of D1--stemming from elegance and simplicity--in exchange for largely theoretical benefits. But D2 is still in development so who knows.
u realize if u don't want that to look like fud u better back that up. i mean we could be sittin' on our ass and muse on them theoretical & practical issues. or we could write d2 and bring real arguments to the table. so how much d2 code have you written.
A bit. I ported the Tango runtime to D2 once. The rest comes from parallels with C++. For example, one of my major issues with D2 is the syntax of the const design. It's theoretically pretty slick, but I'm not at all happy with the prospect of maintaining duplicate function implementations simply to overload on const. This is one of the things that drove me crazy about C++, and D2 is even worse in this regard because it has not only 'const' but 'invariant' as well. And don't say "don't like const, don't use it," because that isn't an option for me as a library developer.
not sure why you keep on sneaking that `theoretically' word in. duplicate code blows, theoretically and practically. yeah that pisses me off too. i managed to avoid duplication thru concepts. dont 4get u only need to do that when you want the qualifier in the return type. often you don't. you can also rely on auto because now it deduces the return type for you. i recall walter promised he'll look into that. but i'm not holding my breath eh. constrained templates do the work for me no problem.
 Another issue is more to do with code portability than with D2 itself. 
 That is, the meaning of 'const' has changed between D1 and D2, with 
 'invariant' effectively replacing what 'const' was used for in D1.  This 
 makes it impossible to create code that has the same meaning in both 
 versions of the language.  Eventually, D1 will be forgotten and no one 
 will care about this any more, but for Tango right now this is a 
 significant issue in my opinion.
look the full half. for tango right now it's an issue. tomorrow it won't.
 Much of the rest is cosmetic--the sort of thing Walter likes to call 
 "barn door" issues.  I hate that we're stuck with 'enum' to signify 
 manifest constants, for example.  Heck, I hate that D supports anonymous 
 enums at all, but making this an official feature in D2 is just crazy 
 IMO.  Maybe not a big deal to you, but what drew me to D in the first 
 place were largely what I'd consider cosmetic improvements over C++.
it's a big issue to me just in the opposite direction. the c enum is brain damaged. even dennis ritchie so much as acknowledged it. (and he won't budge on the definition syntax. so i guess that does mean somethin'.) the c++ enum grew one lonely neuron. problem is we got just used to the wrong. we won't blink an eye at enum { a = 1, b = 2 }; but we get pissed at enum { a = 1.1, b = 2.5 }; i myself was pissed to no end there was no way to define true constants in c++. so im super happy walter fixed that. how others can actually have a problem with that is beyond me. i had an old ford when i was a kid. it had a fidgety starter. only dad and i could start the car. just like in bttf. one day i'd opened it already so i fixed the starter. guess what. somehow i missed the old bad starter. i'd gotten used to it. but then i had a reason. now sis could start the car too. enum ain't a problem. get over urself already.
  > i know i switched to d2 as soon as it was out. i have nuff freedom  
  > work to write at least part of my code in whatever. the more versions
  > arrive with new stuff the more d1 looks to me like an ass-backwards
  > neanderthal tool made of sticks bear claws and silex. could even go as
  > far as sayin' d1 ain't ever gonna make it to prime time. it's just a
  > cute lil language that has a few merits marred by its issues. all
 languages  are like that. d2... d2 feels different because it is
> different. larger ambitions to address real problems in innovative
 ways.  and leave no shit behind like most languages do
> in pursuit of the mother of all features. > and the new team has much more knowledge than walt alone. (sorry > walt. but i guess u'd agree.) Yeah, D1 is a cute little language, but it's eminently usable. All D2 really has going for it at the moment is the const stuff, and I quite honestly don't care about that.
you gotta be intercoursin' kiddin' me. hellooo. concepts. i came to the point where i call bullsolidwaste on unconstrained templates. all templates should be constrained. also destructors and the postblit business. now i can have automatic cleanup like in c++. better yet there's gc so i dun need to clean up a lot of stuff. only files'n stuff. guess someone's not keepin' with'em news.
  This isn't because I don't work on 
 projects large enough to require it--my last project was a few million 
 lines of C++ maintained by a decent sized team--but rather because I 
 feel that inelegant syntax is a greater issue for maintenance than 
 language support for data mutability.  I'd simply rather have nothing 
 than something that I think will produce unmaintainable code.
 
 so sean. how much d2 did you write. hope you agree it's hard to claim it has
no practical advantages if you haven't practically used it. the irony, eh.
Not enough to speak with experience, quite honestly. Perhaps that will chance with this shared runtime business.
then quite honestly ur naysayin' is tenuous.
Aug 25 2008
next sibling parent reply Robert Fraser <fraserofthenight gmail.com> writes:
superdan wrote:
 it's a big issue to me just in the opposite direction. the c enum is brain
damaged. even dennis ritchie so much as acknowledged it. (and he won't budge on
the definition syntax. so i guess that does mean somethin'.) the c++ enum grew
one lonely neuron. problem is we got just used to the wrong. we won't blink an
eye at
 
 enum { a = 1, b = 2 };
 
 but we get pissed at
 
 enum { a = 1.1, b = 2.5 };
I see the first as a problem, too. An enum is an _enumeration_. It should not be abused for bitfields, masks, constants or anything else. Look at how it's used in Java/C# (ignoring the fact that Java's enum is actually syntactic sugar for a class...): - Only named enums are supported (otherwise, what are you enumerating?) - They can't be used as bitfields/masks (constants can be used for this purpose) - You can't define them as arbitrary values. In D, it's all water under the bridge and it's just a keyword; it doesn't matter that much. That being said, it's still a bad selection of keyword IMO and there's no argument that's going to convince me that `enum string CRLF = "\r\n";` is somehow an _enumeration_.
Aug 25 2008
next sibling parent reply superdan <super dan.org> writes:
Robert Fraser Wrote:

 superdan wrote:
 it's a big issue to me just in the opposite direction. the c enum is brain
damaged. even dennis ritchie so much as acknowledged it. (and he won't budge on
the definition syntax. so i guess that does mean somethin'.) the c++ enum grew
one lonely neuron. problem is we got just used to the wrong. we won't blink an
eye at
 
 enum { a = 1, b = 2 };
 
 but we get pissed at
 
 enum { a = 1.1, b = 2.5 };
I see the first as a problem, too. An enum is an _enumeration_.
yeah. an enumerated type to be pedantic. as in, let me enumerate some stuff. i don't see an integer following from that.
 It 
 should not be abused for bitfields, masks, constants or anything else. 
that's not an abuse. it's just use. let me enumerate some math constants. enum math_constants { pi = 3.14, e = 2.71, avocado = 6.023e-23, } there was no abuse, your honor.
 Look at how it's used in Java/C# (ignoring the fact that Java's enum is 
 actually syntactic sugar for a class...):
 
 - Only named enums are supported (otherwise, what are you enumerating?)
i am enumerating symbolic constants that logically belong together but don't have the same type.
 - They can't be used as bitfields/masks (constants can be used for this 
 purpose)
but enums are constants. so it looks like those doods got it all wrong because they have two concepts for the same thing.
 - You can't define them as arbitrary values.
how do you mean that. must pi be 10./3. or what.
 In D, it's all water under the bridge and it's just a keyword; it 
 doesn't matter that much. That being said, it's still a bad selection of 
 keyword IMO and there's no argument that's going to convince me that 
 `enum string CRLF = "\r\n";` is somehow an _enumeration_.
no but if you put it like this maybe it changes your perspective. enum line_terminator { crlf = "\r\n", cr = "\r", lf = "\n", lfcr = "\n\r" } eh.
Aug 25 2008
parent Sean Kelly <sean invisibleduck.org> writes:
superdan wrote:
 Robert Fraser Wrote:
 
 superdan wrote:
 it's a big issue to me just in the opposite direction. the c enum is brain
damaged. even dennis ritchie so much as acknowledged it. (and he won't budge on
the definition syntax. so i guess that does mean somethin'.) the c++ enum grew
one lonely neuron. problem is we got just used to the wrong. we won't blink an
eye at

 enum { a = 1, b = 2 };

 but we get pissed at

 enum { a = 1.1, b = 2.5 };
I see the first as a problem, too. An enum is an _enumeration_.
yeah. an enumerated type to be pedantic. as in, let me enumerate some stuff. i don't see an integer following from that.
That's fine. I'd be okay with enumerated types containing floating point values, strings, whatever. But they should always have a name. Using them to declare globally usable constants is just wrongheaded.
 It 
 should not be abused for bitfields, masks, constants or anything else. 
that's not an abuse. it's just use. let me enumerate some math constants. enum math_constants { pi = 3.14, e = 2.71, avocado = 6.023e-23, } there was no abuse, your honor.
 Look at how it's used in Java/C# (ignoring the fact that Java's enum is 
 actually syntactic sugar for a class...):

 - Only named enums are supported (otherwise, what are you enumerating?)
i am enumerating symbolic constants that logically belong together but don't have the same type.
Yeah, I see what you're saying. I'd say that it's logically a mis-use of 'enum', but it does the trick.
 - They can't be used as bitfields/masks (constants can be used for this 
 purpose)
but enums are constants. so it looks like those doods got it all wrong because they have two concepts for the same thing.
I disagree. An enum is a constrained type. Each element of an enum does happen to be a constant, but so what. More general constrained types would be similar: int[0..5] x; // an integer required to be between 0 and 5 Sean
Aug 26 2008
prev sibling next sibling parent Christopher Wright <dhasenan gmail.com> writes:
Robert Fraser wrote:
 I see the first as a problem, too. An enum is an _enumeration_. It 
 should not be abused for bitfields, masks, constants or anything else. 
 Look at how it's used in Java/C# (ignoring the fact that Java's enum is 
 actually syntactic sugar for a class...):
 
 - Only named enums are supported (otherwise, what are you enumerating?)
 - They can't be used as bitfields/masks (constants can be used for this 
 purpose)
 - You can't define them as arbitrary values.
Take C# this example from my job: [Flags] // hint to the compiler: treat it as a bitfield public enum DaysOfWeek { Monday = 1, Tuesday = 2, Wednesday = 4, Thursday = 8, Friday = 16, Saturday = 32, Sunday = 64, None = 0, All = 127 } DaysOfWeek weekends = DaysOfWeek.Saturday | DaysOfWeek.Sunday;
 In D, it's all water under the bridge and it's just a keyword; it 
 doesn't matter that much. That being said, it's still a bad selection of 
 keyword IMO and there's no argument that's going to convince me that 
 `enum string CRLF = "\r\n";` is somehow an _enumeration_.
You wouldn't get to the keyword "enum" just from the definition of "enumeration". But it's not too far from the previous usage.
Aug 25 2008
prev sibling parent Sean Kelly <sean invisibleduck.org> writes:
Robert Fraser wrote:
 superdan wrote:
 it's a big issue to me just in the opposite direction. the c enum is 
 brain damaged. even dennis ritchie so much as acknowledged it. (and he 
 won't budge on the definition syntax. so i guess that does mean 
 somethin'.) the c++ enum grew one lonely neuron. problem is we got 
 just used to the wrong. we won't blink an eye at

 enum { a = 1, b = 2 };

 but we get pissed at

 enum { a = 1.1, b = 2.5 };
I see the first as a problem, too. An enum is an _enumeration_. It should not be abused for bitfields, masks, constants or anything else. Look at how it's used in Java/C# (ignoring the fact that Java's enum is actually syntactic sugar for a class...): - Only named enums are supported (otherwise, what are you enumerating?) - They can't be used as bitfields/masks (constants can be used for this purpose) - You can't define them as arbitrary values. In D, it's all water under the bridge and it's just a keyword; it doesn't matter that much. That being said, it's still a bad selection of keyword IMO and there's no argument that's going to convince me that `enum string CRLF = "\r\n";` is somehow an _enumeration_.
Right. I simply disagree with the suggestion that a label is a label and we should forget about it and move on. If a word is used to represent something then the representation should be consistent with the meaning of the word, not some outdated convention from a language where the feature is considered a mistake anyway. I'd prefer to take the long view... when teaching D to college students in 10 years, what kind of answer is "well, it derives from a broken convention in a language you've never heard of" to the question "why does D use 'enum' to represent manifest constants?" However, I realize this will never change so I'll suppress my angst and move on ;-) Sean
Aug 26 2008
prev sibling parent reply Sean Kelly <sean invisibleduck.org> writes:
superdan wrote:
 Sean Kelly Wrote:
 
 superdan wrote:
 Sean Kelly Wrote:

 Brian Price wrote:
 My take on the Tango vs Phobos situation is:

 For production use the only real choice is D1 (D2 being alpha) and it looks
like
 there are going to be so many changes in the language that going from a D1 app
to
 a D2 app is going to require more than a bit of work and thought.
It's also worth mentioning that whatever is decided, no changes are likely to occur with D1 / Phobos1 because that version of D is frozen. So from a practical standpoint I think Tango and Tangobos will continue to be the preferred approach for development under D1.
 So, restricting the answer to D1, Tango seems to be a more full featured ,
robust,
 and maintained library than Phobos.  I'd expect that to change in D2 and expect
 the natural choice there will be Phobos (barring a ton of work by the Tango
crew).
Pretty much. Though having some sort of shared runtime /may/ affect how some of the features in tango.core are exposed. I would obviously prefer if Phobos just built on top of Tango as with the Tango / Tangobos solution for D1, but that doesn't seem likely to happen.
glad to hear that. there's quite a few of us who aren't quite fans of tango. i'd rather wait for bartosh walt & andrei to put their weight behind phobos2.
 Regardless of the choice of library for use with D1, moving to D2 with either
 library looks like a chore since Phobos seems to be undergoing some (much
needed)
 significant changes from D1 to D2 versions.
Yup.
 As to the larger topic, D is potentially caught on the horns of a dilemma: D1
is
 not a significant enough advance on current languages to justify a move even if
 there were no library concerns; D2 may well be enough of a step forward to
justify
 a move but there is the issue of timing.  My take is that if the upcoming C++
 standard makes it into compilers used in common production before D2 is ready
for
 prime time that D may never gain a real foothold in mainstream use.  I'm hoping
 that the D2 team sets a deadline and leaves some things for a future D3 rather
 than miss the window of opportunity.
In my opinion, the benefits of D1 over comparable mainstream languages are quite substantial but difficult to quantify. The elegance of the language tends to produce vastly more maintainable code than C++, for example, which is a huge win for team development. As far as D2 is concerned, I think it's really too early to say. My current opinion is that the feature additions in D2 impact the syntax in such a way that they eliminate much of the advantage of D1--stemming from elegance and simplicity--in exchange for largely theoretical benefits. But D2 is still in development so who knows.
u realize if u don't want that to look like fud u better back that up. i mean we could be sittin' on our ass and muse on them theoretical & practical issues. or we could write d2 and bring real arguments to the table. so how much d2 code have you written.
A bit. I ported the Tango runtime to D2 once. The rest comes from parallels with C++. For example, one of my major issues with D2 is the syntax of the const design. It's theoretically pretty slick, but I'm not at all happy with the prospect of maintaining duplicate function implementations simply to overload on const. This is one of the things that drove me crazy about C++, and D2 is even worse in this regard because it has not only 'const' but 'invariant' as well. And don't say "don't like const, don't use it," because that isn't an option for me as a library developer.
not sure why you keep on sneaking that `theoretically' word in. duplicate code blows, theoretically and practically. yeah that pisses me off too. i managed to avoid duplication thru concepts. dont 4get u only need to do that when you want the qualifier in the return type. often you don't. you can also rely on auto because now it deduces the return type for you. i recall walter promised he'll look into that. but i'm not holding my breath eh. constrained templates do the work for me no problem.
 Another issue is more to do with code portability than with D2 itself. 
 That is, the meaning of 'const' has changed between D1 and D2, with 
 'invariant' effectively replacing what 'const' was used for in D1.  This 
 makes it impossible to create code that has the same meaning in both 
 versions of the language.  Eventually, D1 will be forgotten and no one 
 will care about this any more, but for Tango right now this is a 
 significant issue in my opinion.
look the full half. for tango right now it's an issue. tomorrow it won't.
 Much of the rest is cosmetic--the sort of thing Walter likes to call 
 "barn door" issues.  I hate that we're stuck with 'enum' to signify 
 manifest constants, for example.  Heck, I hate that D supports anonymous 
 enums at all, but making this an official feature in D2 is just crazy 
 IMO.  Maybe not a big deal to you, but what drew me to D in the first 
 place were largely what I'd consider cosmetic improvements over C++.
it's a big issue to me just in the opposite direction. the c enum is brain damaged. even dennis ritchie so much as acknowledged it. (and he won't budge on the definition syntax. so i guess that does mean somethin'.) the c++ enum grew one lonely neuron. problem is we got just used to the wrong. we won't blink an eye at enum { a = 1, b = 2 }; but we get pissed at enum { a = 1.1, b = 2.5 }; i myself was pissed to no end there was no way to define true constants in c++. so im super happy walter fixed that. how others can actually have a problem with that is beyond me. i had an old ford when i was a kid. it had a fidgety starter. only dad and i could start the car. just like in bttf. one day i'd opened it already so i fixed the starter. guess what. somehow i missed the old bad starter. i'd gotten used to it. but then i had a reason. now sis could start the car too. enum ain't a problem. get over urself already.
My problem isn't with the concept, it's with the word. That's why I said it's a "barn door" issue. To me, the meaning of 'enum' is "enumerated type." It has nothing to do with declaring manifest constants. That's why I also think that anonymous enums should be illegal. Just give us a new label for this stuff ("manifest" was proposed). Or heck, make constants not addressable and eliminate storage for the altogether. I can't think of a single instance in my time as a programmer where I actually wanted to take the address of a constant. What's the point? You can't modify it anyway.
  > i know i switched to d2 as soon as it was out. i have nuff freedom  
  > work to write at least part of my code in whatever. the more versions
  > arrive with new stuff the more d1 looks to me like an ass-backwards
  > neanderthal tool made of sticks bear claws and silex. could even go as
  > far as sayin' d1 ain't ever gonna make it to prime time. it's just a
  > cute lil language that has a few merits marred by its issues. all
 languages  are like that. d2... d2 feels different because it is
> different. larger ambitions to address real problems in innovative
 ways.  and leave no shit behind like most languages do
> in pursuit of the mother of all features. > and the new team has much more knowledge than walt alone. (sorry > walt. but i guess u'd agree.) Yeah, D1 is a cute little language, but it's eminently usable. All D2 really has going for it at the moment is the const stuff, and I quite honestly don't care about that.
you gotta be intercoursin' kiddin' me. hellooo. concepts. i came to the point where i call bullsolidwaste on unconstrained templates. all templates should be constrained. also destructors and the postblit business. now i can have automatic cleanup like in c++. better yet there's gc so i dun need to clean up a lot of stuff. only files'n stuff.
Concepts can be done in D1 as well. The D2 stuff is just syntactic sugar for: void fn(T, bool cond : true = SomeTest!(T))( T val ) {} I've been doing this sort of thing in Tango forever. That isn't to say that I don't want real concept support--I totally do--it just isn't worth some of the other baggage in D2 right now. Tell you the truth, what I probably want most from D2 is overload sets. Function overloading in D1 just plain sucks and is a constant annoyance for me. Fixing this alone is enough to make me put up with a lot of other stuff I don't like. But on the flip side I can't actually use it yet because Tango has to work on D1 as well.
 guess someone's not keepin' with'em news.
Nah. I only care about features I can't fake in D1 already.
  This isn't because I don't work on 
 projects large enough to require it--my last project was a few million 
 lines of C++ maintained by a decent sized team--but rather because I 
 feel that inelegant syntax is a greater issue for maintenance than 
 language support for data mutability.  I'd simply rather have nothing 
 than something that I think will produce unmaintainable code.

 so sean. how much d2 did you write. hope you agree it's hard to claim it has
no practical advantages if you haven't practically used it. the irony, eh.
Not enough to speak with experience, quite honestly. Perhaps that will chance with this shared runtime business.
then quite honestly ur naysayin' is tenuous.
I said at the start that it's my current opinion and may change, so yeah, it's totally tenuous. Sean
Aug 26 2008
parent superdan <super dan.org> writes:
Sean Kelly Wrote:

 superdan wrote:
 enum ain't a problem. get over urself already.
My problem isn't with the concept, it's with the word. That's why I said it's a "barn door" issue. To me, the meaning of 'enum' is "enumerated type." It has nothing to do with declaring manifest constants.
guess u have to retake the driving test then. enumerated type means: i enumerate this type's possible values. they are necessarily constants. and since they are there they are manifest. viola. da gamba.
 That's why I also think that anonymous enums should be 
 illegal.
then anonymous classes should be illegal too?
  Just give us a new label for this stuff ("manifest" was 
 proposed).
talkin' about that long view of yers. imagine teaching kids. hey-hey, kids. today we do constant definitions. well, we sure aren't lackin'em. the more the merrier. const a = 1; invariant a = 1; enum { a = 1 } manifest a = 1; kid #1: teacher, what's the diff between const and invariant? teacher: in this case none. kid #2: how about enum and invariant? teacher: in all cases none. kid #3: why both const and invariant? teacher: they have different meanings as we talked yesterday in the megacore class. kid #4: but why both enum and manifest if they're always the same thing? teacher: oops, bell's ringin'. don't forget the homework for tomorrow: implement opIndex in o(n).
  Or heck, make constants not addressable and eliminate 
 storage for the altogether.
that ruins everything about const.
  I can't think of a single instance in my 
 time as a programmer where I actually wanted to take the address of a 
 constant.  What's the point?  You can't modify it anyway.
taking a slice off a const string.
  > i know i switched to d2 as soon as it was out. i have nuff freedom  
  > work to write at least part of my code in whatever. the more versions
  > arrive with new stuff the more d1 looks to me like an ass-backwards
  > neanderthal tool made of sticks bear claws and silex. could even go as
  > far as sayin' d1 ain't ever gonna make it to prime time. it's just a
  > cute lil language that has a few merits marred by its issues. all
 languages  are like that. d2... d2 feels different because it is
> different. larger ambitions to address real problems in innovative
 ways.  and leave no shit behind like most languages do
> in pursuit of the mother of all features. > and the new team has much more knowledge than walt alone. (sorry > walt. but i guess u'd agree.) Yeah, D1 is a cute little language, but it's eminently usable. All D2 really has going for it at the moment is the const stuff, and I quite honestly don't care about that.
you gotta be intercoursin' kiddin' me. hellooo. concepts. i came to the point where i call bullsolidwaste on unconstrained templates. all templates should be constrained. also destructors and the postblit business. now i can have automatic cleanup like in c++. better yet there's gc so i dun need to clean up a lot of stuff. only files'n stuff.
Concepts can be done in D1 as well. The D2 stuff is just syntactic sugar for: void fn(T, bool cond : true = SomeTest!(T))( T val ) {} I've been doing this sort of thing in Tango forever. That isn't to say that I don't want real concept support--I totally do--it just isn't worth some of the other baggage in D2 right now.
see here's some fud again.
  Tell you the truth, 
 what I probably want most from D2 is overload sets.  Function 
 overloading in D1 just plain sucks and is a constant annoyance for me. 
 Fixing this alone is enough to make me put up with a lot of other stuff 
 I don't like.  But on the flip side I can't actually use it yet because 
 Tango has to work on D1 as well.
overload sets are cool. guess if i were a shrink i'd say ur beef with d2 is that u have this tango/d1 worry hangin' over ya.
 guess someone's not keepin' with'em news.
Nah. I only care about features I can't fake in D1 already.
  This isn't because I don't work on 
 projects large enough to require it--my last project was a few million 
 lines of C++ maintained by a decent sized team--but rather because I 
 feel that inelegant syntax is a greater issue for maintenance than 
 language support for data mutability.  I'd simply rather have nothing 
 than something that I think will produce unmaintainable code.

 so sean. how much d2 did you write. hope you agree it's hard to claim it has
no practical advantages if you haven't practically used it. the irony, eh.
Not enough to speak with experience, quite honestly. Perhaps that will chance with this shared runtime business.
then quite honestly ur naysayin' is tenuous.
I said at the start that it's my current opinion and may change, so yeah, it's totally tenuous.
cool. then guess u can help it.
Aug 26 2008
prev sibling parent Jason House <jason.james.house gmail.com> writes:
Sean Kelly wrote:
 
 Another issue is more to do with code portability than with D2 itself.
 That is, the meaning of 'const' has changed between D1 and D2, with
 'invariant' effectively replacing what 'const' was used for in D1.  This
 makes it impossible to create code that has the same meaning in both
 versions of the language.
What if D1 was augmented to allow the keyword invariant in those cases where D2 has a conflicting meaning for const? That wouldn't break any D1 code or add any functionality. I think it's a fair request.
Aug 25 2008
prev sibling parent Walter Bright <newshound1 digitalmars.com> writes:
superdan wrote:
 d2... d2 feels different because it is
 different. larger ambitions to address real problems in innovative
 ways. and leave no shit behind like most languages do in pursuit of
 the mother of all features. and the new team has much more knowledge
 than walt alone. (sorry walt. but i guess u'd agree.)
I would agree. D1 was about at the limit of my abilities. D2 goes way beyond that, and that is possible because it is much more of a team effort.
Aug 25 2008
prev sibling parent Sean Kelly <sean invisibleduck.org> writes:
Vincent Richomme wrote:
 Yigal Chripun a écrit :
 Sean Kelly wrote:
  > I'd prefer being able to choose the GC I want without needing the
 compiler vendor to supply it.  Otherwise, the compiler vendor either
 needs to know how to write a GC (unlikely) or they need to bundle a
 third-party GC.  Also, different applications have different memory
 requirements.  Tango allows the GC to be chosen at link-time, which
 allows for a great deal of flexibility. 
If we compare to Java than Sun provides more than one GC with its runtime and you can get even more specialized version GC if you really need it (real-time for example). I guess there's nothing wrong in getting a third party GC either. The point is that in Java those GCs are chosen by the runtime (you can specify if you run your app as a server or a client app and based on that the GC is chosen) or you can specify explicitly your GC too, I guess. Non of that should affect your code (unless you choose to use specific extensions to the GC API provided but a specialized GC). So, the choice of a GC doesn't affect your code.
 The benefit is that the vendors will compete for runtime performance
 which is good for the end user. I can choose vendor A's GC since it is
 more efficient with regards to memory (if I care for that) or vendor 
 B's
 GC if it's faster, etc..
Better to choose the GC separately from the compiler, then, so you can use the best of breed of each.
 All I care is that everything that is visible to the end user is
 standardized - i.e. I can do GC.collect() in my code since it's in the
 APIs and don't care if I use llvmdc, dil, dmd, gdc, etc.. ( I'll care
 for performance reasons and such of course and for that I can just
 switch to a different vendor without any code changes)
This is a standard library issue not a compiler runtime or GC issue.
it is an issue with the compiler runtime/GC if there isn't a standard API and when I change my GC/runtime I need to edit the source.
What I would like to know now: is there any progress between this Tango vs Phobos discussion... I still don't know if I can rely on Tango for my dev or on phobos and I think I am not the only one.
Yes. Sean
Aug 25 2008
prev sibling parent reply Sean Kelly <sean invisibleduck.org> writes:
Yigal Chripun wrote:
 Sean Kelly wrote:
  > I'd prefer being able to choose the GC I want without needing the
 compiler vendor to supply it.  Otherwise, the compiler vendor either
 needs to know how to write a GC (unlikely) or they need to bundle a
 third-party GC.  Also, different applications have different memory
 requirements.  Tango allows the GC to be chosen at link-time, which
 allows for a great deal of flexibility. 
If we compare to Java than Sun provides more than one GC with its runtime and you can get even more specialized version GC if you really need it (real-time for example). I guess there's nothing wrong in getting a third party GC either. The point is that in Java those GCs are chosen by the runtime (you can specify if you run your app as a server or a client app and based on that the GC is chosen) or you can specify explicitly your GC too, I guess. Non of that should affect your code (unless you choose to use specific extensions to the GC API provided but a specialized GC). So, the choice of a GC doesn't affect your code.
It shouldn't, or there would be little point in supporting swappable GCs.
 The benefit is that the vendors will compete for runtime performance
 which is good for the end user. I can choose vendor A's GC since it is
 more efficient with regards to memory (if I care for that) or vendor B's
 GC if it's faster, etc..
Better to choose the GC separately from the compiler, then, so you can use the best of breed of each.
 All I care is that everything that is visible to the end user is
 standardized - i.e. I can do GC.collect() in my code since it's in the
 APIs and don't care if I use llvmdc, dil, dmd, gdc, etc.. ( I'll care
 for performance reasons and such of course and for that I can just
 switch to a different vendor without any code changes)
This is a standard library issue not a compiler runtime or GC issue.
it is an issue with the compiler runtime/GC if there isn't a standard API and when I change my GC/runtime I need to edit the source.
Fortunately, Tango provides such a "standard API" so no source changes are needed unless you do something like drop in a "GC" that simply calls malloc and free, in which case your app will leak if it isn't written with this in mind. Sean
Aug 25 2008
parent Josh Szepietowski <Goosey gmail.com> writes:
Sean Kelly Wrote:

 Yigal Chripun wrote:
 Sean Kelly wrote:
  > I'd prefer being able to choose the GC I want without needing the
 compiler vendor to supply it.  Otherwise, the compiler vendor either
 needs to know how to write a GC (unlikely) or they need to bundle a
 third-party GC.  Also, different applications have different memory
 requirements.  Tango allows the GC to be chosen at link-time, which
 allows for a great deal of flexibility. 
If we compare to Java than Sun provides more than one GC with its runtime and you can get even more specialized version GC if you really need it (real-time for example). I guess there's nothing wrong in getting a third party GC either. The point is that in Java those GCs are chosen by the runtime (you can specify if you run your app as a server or a client app and based on that the GC is chosen) or you can specify explicitly your GC too, I guess. Non of that should affect your code (unless you choose to use specific extensions to the GC API provided but a specialized GC). So, the choice of a GC doesn't affect your code.
It shouldn't, or there would be little point in supporting swappable GCs.
 The benefit is that the vendors will compete for runtime performance
 which is good for the end user. I can choose vendor A's GC since it is
 more efficient with regards to memory (if I care for that) or vendor B's
 GC if it's faster, etc..
Better to choose the GC separately from the compiler, then, so you can use the best of breed of each.
 All I care is that everything that is visible to the end user is
 standardized - i.e. I can do GC.collect() in my code since it's in the
 APIs and don't care if I use llvmdc, dil, dmd, gdc, etc.. ( I'll care
 for performance reasons and such of course and for that I can just
 switch to a different vendor without any code changes)
This is a standard library issue not a compiler runtime or GC issue.
it is an issue with the compiler runtime/GC if there isn't a standard API and when I change my GC/runtime I need to edit the source.
Fortunately, Tango provides such a "standard API" so no source changes are needed unless you do something like drop in a "GC" that simply calls malloc and free, in which case your app will leak if it isn't written with this in mind. Sean
Just wanted to voice that being able to overload the GC functions as in the D Conference 2007 talk is kind of a killer feature for me. Whatever shakedown happens from the phobos/tango runtime unificiation (which IMHO should be the first priority for the D 'standard library community') I really hope the swappable GC functions stay.
Aug 25 2008
prev sibling parent Sean Kelly <sean invisibleduck.org> writes:
Yigal Chripun wrote:
 Lars Ivar Igesund wrote:
 Lutger wrote:

 Lars Ivar Igesund wrote:

 Steven Schveighoffer wrote:
  
 This is my view (might not work, but I think it could).  For purposes of
 simplicity, I'll assume Walter currently develops the Phobos runtime
 (not that he doesn't, but I'm really not sure :).

 Maintenance of the merged runtime would become Walter's responsibility,
 with your help if necessary (ideas and help understanding, and
 enhancements if
 you wish).  Any changes desired for the runtime would go through Phobos
 (and
 Walter).  The Tango lib would use the now tango-fied Phobos runtime,
 with alias imports for existing code (e.g. tango.core.Thread would
 either publicly import std.thread or would privately import it, and
 alias the Thread class).
Based on historical evidence, this doesn't sound like a particularly good idea. The current situation ensued for a reason. Also, I find that this discussion quite completely ignores the fact that DMD is not the only D compiler anymore, and Walter is not the only one with a vested interest in the functionality. In fact it looks like quite many of the Tango conference attendants wants to discuss the runtime.
How does it ignore it? It sounds rather like the opposite to me: the very existence of multiple runtimes and the vested interest in those runtimes (Tango's primarily) are the key reason for unification.
Unification, yes. You misunderstood my point, which is that the runtime implementation (not the compiler specific portion and direct language support) should, IMO, be independent. As long as Walter/DigitalMars is the developer of the language itself, it will be natural that eventual new features that the language requires from the runtime, will be bootstrapped by code from Walter, but I think Sean's work on the runtime in Tango shows that such initial implementation can have large potential for improvements.
  
 If there should be a common-common (not only "just" compatible) runtime,
 it shouldn't be controlled by one compiler vendor. Note that the Tango
 runtime consists of 3 parts, where only one is compiler specific. That
 particular part should probably be controlled/reviewed by the compiler
 vendor, the rest (GC, threading, other things) should be independent.
I'll admit my understanding is limited, but I'd guess that will lead to even further fragmentation and non-portability.
The compiler part would have to conform to the necessary interfaces, of course, but at some level the implementation details needs to be, and not all can be kept in the compiler itself, thus it must be somewhere in the runtime. I don't see this as a problem, just a necessary evil.
I don't understand your point. are you suggesting that things like the GC will be independent from the compiler? It seems to me that the model suggested by Sean is the way to go: ie: my code ---------- standard library user code and standardized APIs to the runtime (threading, etc --------------------------------- compiler + runtime A | compiler + runtime B | ..... if a user isn't satisfied by runtime/compiler A he should just switch vendors. All the user facing APIs are standardized in the stdlib so all is needed is to recompile..
I think it's worth distinguishing a bit more detail: my code -------------------------- standard library | ------------------------------------------------------- compiler runtime | garbage collector | std. lib runtime With the above model, the runtime is actually made up of three distinct components: the compiler support code, the GC, and some user-visible runtime code which I've termed the "standard library runtime." This model provides a clear division of labor: the compiler writer worries only about the compiler support code, OS geeks can create the GC, and library programmers can work on the library bit. Sean
Aug 18 2008
prev sibling parent reply Lutger <lutger.blijdestijn gmail.com> writes:
Lars Ivar Igesund wrote:

 Lutger wrote:
...
 How does it ignore it? It sounds rather like the opposite to me: the very
 existence of multiple runtimes and the vested interest in those runtimes
 (Tango's primarily) are the key reason for unification.
Unification, yes. You misunderstood my point, which is that the runtime implementation (not the compiler specific portion and direct language support) should, IMO, be independent. As long as Walter/DigitalMars is the developer of the language itself, it will be natural that eventual new features that the language requires from the runtime, will be bootstrapped by code from Walter, but I think Sean's work on the runtime in Tango shows that such initial implementation can have large potential for improvements.
Ok I think I understand and agree that some room for this potential would be good, of course. What I'm worried about is that D libraries will depend on specific api (not only implementation) of the runtime, which could lead to a mess when we'll have more and more of such implementations. Simply put, I'm afraid that in the future to make a cross-platform code we'll have to do something equivalent to a C++ header file consisting of dozens of bizarre #ifdef ... #elif etc. logic. Or worse, need a massive porting effort or wrapping libraries a la tangobos if you need a D library developed for a different compiler. Perhaps more interfaces could be standardized? I don't know. I'd hate to see a thread in some years called 'phobos vs tango vs dil vs dang vs llvmdc vs etc.' ;) </hyperbole>
Aug 16 2008
next sibling parent Lars Ivar Igesund <larsivar igesund.net> writes:
Lutger wrote:

 Lars Ivar Igesund wrote:
 
 Lutger wrote:
...
 How does it ignore it? It sounds rather like the opposite to me: the
 very existence of multiple runtimes and the vested interest in those
 runtimes (Tango's primarily) are the key reason for unification.
Unification, yes. You misunderstood my point, which is that the runtime implementation (not the compiler specific portion and direct language support) should, IMO, be independent. As long as Walter/DigitalMars is the developer of the language itself, it will be natural that eventual new features that the language requires from the runtime, will be bootstrapped by code from Walter, but I think Sean's work on the runtime in Tango shows that such initial implementation can have large potential for improvements.
Ok I think I understand and agree that some room for this potential would be good, of course. What I'm worried about is that D libraries will depend on specific api (not only implementation) of the runtime, which could lead to a mess when we'll have more and more of such implementations. Simply put, I'm afraid that in the future to make a cross-platform code we'll have to do something equivalent to a C++ header file consisting of dozens of bizarre #ifdef ... #elif etc. logic. Or worse, need a massive porting effort or wrapping libraries a la tangobos if you need a D library developed for a different compiler.
A way to ensure that there are common, good and well defined interfaces is what I try to hint at. I don't think all of those can be properly achieved by letting one vendor decide. I also think that having a common place to have the compiler independent implementation would help this goal, ie that compiler vendors don't need to write this themselves. -- Lars Ivar Igesund blog at http://larsivi.net DSource, #d.tango & #D: larsivi Dancing the Tango
Aug 16 2008
prev sibling parent Sean Kelly <sean invisibleduck.org> writes:
Lutger wrote:
 Lars Ivar Igesund wrote:
 
 Lutger wrote:
...
 How does it ignore it? It sounds rather like the opposite to me: the very
 existence of multiple runtimes and the vested interest in those runtimes
 (Tango's primarily) are the key reason for unification.
Unification, yes. You misunderstood my point, which is that the runtime implementation (not the compiler specific portion and direct language support) should, IMO, be independent. As long as Walter/DigitalMars is the developer of the language itself, it will be natural that eventual new features that the language requires from the runtime, will be bootstrapped by code from Walter, but I think Sean's work on the runtime in Tango shows that such initial implementation can have large potential for improvements.
Ok I think I understand and agree that some room for this potential would be good, of course. What I'm worried about is that D libraries will depend on specific api (not only implementation) of the runtime, which could lead to a mess when we'll have more and more of such implementations.
This is why the Tango runtime is designed the way it is -- it eliminates all dependency on standard library implementation. The API exposed is very simply and completely portable.
 Simply put, I'm afraid that in the future to make a cross-platform code
 we'll have to do something equivalent to a C++ header file consisting of
 dozens of bizarre #ifdef ... #elif etc. logic. Or worse, need a massive
 porting effort or wrapping libraries a la tangobos if you need a D library
 developed for a different compiler.
And this is the reason for making the runtime separately available from /any/ standard library :-) Sean
Aug 18 2008
prev sibling parent sambeau <sambeau-nospam gmail.com> writes:
Lars Ivar Igesund Wrote:

 Based on historical evidence, this doesn't sound like a particularly good
 idea. The current situation ensued for a reason.
* sigh *
Aug 15 2008
prev sibling parent reply Walter Bright <newshound1 digitalmars.com> writes:
Steven Schveighoffer wrote:
 As far as threads, I agree.  One must be chosen.
The threading issue is more problematic. D 2.0 is doing a ground up rethink on how to approach threading, and it's hard to imagine that not impacting the threading part of the library. A common exception base is much more straightforward.
Aug 15 2008
parent reply Sean Kelly <sean invisibleduck.org> writes:
Walter Bright wrote:
 Steven Schveighoffer wrote:
 As far as threads, I agree.  One must be chosen.
The threading issue is more problematic. D 2.0 is doing a ground up rethink on how to approach threading, and it's hard to imagine that not impacting the threading part of the library.
So is classic threading going to be thrown out entirely? If so then I guess it eliminates the problem of exposing a Thread class.
 A common exception base is much more straightforward.
Agreed. Sean
Aug 15 2008
parent reply Walter Bright <newshound1 digitalmars.com> writes:
Sean Kelly wrote:
 Walter Bright wrote:
 Steven Schveighoffer wrote:
 As far as threads, I agree.  One must be chosen.
The threading issue is more problematic. D 2.0 is doing a ground up rethink on how to approach threading, and it's hard to imagine that not impacting the threading part of the library.
So is classic threading going to be thrown out entirely? If so then I guess it eliminates the problem of exposing a Thread class.
I don't know. Bartosz is working on it. He understands the issues far better than I do. What I do believe is that handling concurrency well will be a breakthrough feature for D.
Aug 15 2008
parent Moritz Warning <moritzwarning web.de> writes:
On Fri, 15 Aug 2008 14:41:20 -0700, Walter Bright wrote:

 Sean Kelly wrote:
 Walter Bright wrote:
 Steven Schveighoffer wrote:
 As far as threads, I agree.  One must be chosen.
The threading issue is more problematic. D 2.0 is doing a ground up rethink on how to approach threading, and it's hard to imagine that not impacting the threading part of the library.
So is classic threading going to be thrown out entirely? If so then I guess it eliminates the problem of exposing a Thread class.
I don't know. Bartosz is working on it. He understands the issues far better than I do. What I do believe is that handling concurrency well will be a breakthrough feature for D.
Sounds like a nifty feature, but please keep in mind that users like to have control about everything if they want to. Otherwise D is becoming quite restricted. Like the garbage collector (GC) can be turned off and manual memory management can be used, automatic threading in D should give similar control. But the current gc handling is a bit inflexible. Turning off the gc still leaves the gc code in the binary without additional work. But that's another story. :)
Aug 15 2008
prev sibling parent reply Walter Bright <newshound1 digitalmars.com> writes:
Yigal Chripun wrote:
 In this Specific case:
 Walter needs his name on all the Phobos code and he stated his valid
 reasons for it. Tango developers want their names on the Tango code and
 rightly so, since they wrote it. in case of a merger of those two code
 bases you get one joint code base but *two* teams that want their name
 on the code. someone has to be first.
No, I do not "need my name" on the Phobos code. I have no interest in taking credit for others' work. As I have stated previously, the idea here is to: 1. To ensure Phobos is free of any legal taint and any accusations of stealing code. 2. To avoid the untenable issue of a single module in Phobos having different license for different lines of code. It is not an issue of credit, I have no problem with (and strongly encourage) the people who wrote the code having their name in it and taking credit. At one point, Brad was trying to do some merging and was accused of "stealing" from Tango. I was told later that this was in jest, but this kind of thing cannot be taken lightly. Phobos needs to be squeaky clean in the legal department. I have done my part and have provided an explicit, clear, and unambiguous license for Tango to use whatever parts of Phobos they need and to put it under the Tango license (for all the parts for which I have a right to do so). All I ask is for a reciprocal agreement.
Aug 14 2008
parent reply Yigal Chripun <yigal100 gmail.com> writes:
Walter Bright wrote:
 Yigal Chripun wrote:
 In this Specific case:
 Walter needs his name on all the Phobos code and he stated his valid
 reasons for it. Tango developers want their names on the Tango code and
 rightly so, since they wrote it. in case of a merger of those two code
 bases you get one joint code base but *two* teams that want their name
 on the code. someone has to be first.
No, I do not "need my name" on the Phobos code. I have no interest in taking credit for others' work. As I have stated previously, the idea here is to: 1. To ensure Phobos is free of any legal taint and any accusations of stealing code. 2. To avoid the untenable issue of a single module in Phobos having different license for different lines of code. It is not an issue of credit, I have no problem with (and strongly encourage) the people who wrote the code having their name in it and taking credit. At one point, Brad was trying to do some merging and was accused of "stealing" from Tango. I was told later that this was in jest, but this kind of thing cannot be taken lightly. Phobos needs to be squeaky clean in the legal department. I have done my part and have provided an explicit, clear, and unambiguous license for Tango to use whatever parts of Phobos they need and to put it under the Tango license (for all the parts for which I have a right to do so). All I ask is for a reciprocal agreement.
Walter, from my POV which is that of a user, all I see is a huge storm in a cup of water from a year ago. I do not take a side in this nor do I care for the issues both sides raise. as I've said in my previous post which is quoted in this post already and I'll quote here again "[Walter] stated his valid reasons". So you see, I do not question your reasons. All I see as a user is that Steven compared the licenses and they're almost Identical, Sean Kelly has given you permission to all his code and I see his posts and see no reason this hasn't been solved a year ago. I'm a user. I should not care if contributer A insulted/jested with Developer B. Since you do not have any issues with giving credit (where it is due) and Sean gave you a free hand with all his code, All of your points above are achieved in regard to the runtime. You want more prove to see the authors of the runtime? Check the version control logs. But really, unless this issue is solved and solved *soon*, both versions of D are a dead end. This is far more important to resolve than any new feature in D2. again, as an average user that just want to use D, I can happily live without array ops, native thread local memory and other features for a few months, But I really must insist that D needs a standardized runtime library, now. otherwise I have no use for D at all no matter what fancy tricks it has under its sleeves. The only thing left to say is that this should be handled in the same way a pope is selected: all cardinals gather in his room and they are not allowed to leave this room until a new pope is selected which is signaled by white smoke. (I've been to Italy and the guide showed us where it supposed to come from). this is what currently needed to solve this. put everything else aside (both you and the Tango devs) and give us white smoke. until I see that white smoke coming from this NG, I (and I'm sure many others) will see no future in D.
Aug 14 2008
parent Walter Bright <newshound1 digitalmars.com> writes:
Yigal Chripun wrote:
 Since you do not have any issues with giving credit (where it is due)
 and Sean gave you a free hand with all his code, All of your points
 above are achieved in regard to the runtime.
Sean has sent me a zip of the runtime code that he owns. I think that will be adequate to resolve the problem.
Aug 14 2008
prev sibling next sibling parent reply Christopher Wright <dhasenan gmail.com> writes:
Walter Bright wrote:
 Lars Ivar Igesund wrote:
 Walter Bright wrote:
 I have explained this to the main Tango developers on multiple
 occasions. It is their right and privilege to license Tango as they see
 fit, and I respect that and so have not spoken out on it before. But in
 this thread I am being cast as a roadblock, which I feel is a little
 unfair, so I will loosen my tongue and speak up a bit :-)
And we have on equally many occasions told you that the code you need is available. :)
I respectfully disagree. The Tango team has stopped short of providing a license to use the Tango code in Phobos with a reciprocal agreement that allows it to be distributed under the Phobos license. I also cannot accept something vague, it has to be explicit. I've dealt with lawyers many times, and spelling it out directly and explicitly avoids a lot of future potential problems. Furthermore, if Phobos has a wishy-washy legal pedigree, corporate lawyers will not buy off on allowing D to be used in their companies. This issue must be settled in advance of looking at Tango, not after the fact.
From phobos/phoboslicense.txt: * Copyright (C) 2004-2005 by Digital Mars, www.digitalmars.com * Written by Walter Bright (followed by BSD license) Those lines are an issue. Are you asking for copyright assignment? That's a bit much to ask. An alternative problem is this: * Placed in the Public Domain A number of modules in phobos/internal are marked public domain. Are you asking for Tango's internals to be placed in the public domain? That also is a bit much to ask. The BSD license is simply public domain with attribution. So what is the issue with using it? Phobos already uses it. Just with your name as the copyright holder. Or do you want an agreement to allow relicensing of Phobos and Tango, let's say to incompatible licenses, and still allow Phobos and Tango to share code afterward? It's unclear what you want or need that you don't already have.
Aug 14 2008
next sibling parent reply Sean Kelly <sean invisibleduck.org> writes:
Christopher Wright wrote:
 Walter Bright wrote:
 Lars Ivar Igesund wrote:
 Walter Bright wrote:
 I have explained this to the main Tango developers on multiple
 occasions. It is their right and privilege to license Tango as they see
 fit, and I respect that and so have not spoken out on it before. But in
 this thread I am being cast as a roadblock, which I feel is a little
 unfair, so I will loosen my tongue and speak up a bit :-)
And we have on equally many occasions told you that the code you need is available. :)
I respectfully disagree. The Tango team has stopped short of providing a license to use the Tango code in Phobos with a reciprocal agreement that allows it to be distributed under the Phobos license. I also cannot accept something vague, it has to be explicit. I've dealt with lawyers many times, and spelling it out directly and explicitly avoids a lot of future potential problems. Furthermore, if Phobos has a wishy-washy legal pedigree, corporate lawyers will not buy off on allowing D to be used in their companies. This issue must be settled in advance of looking at Tango, not after the fact.
From phobos/phoboslicense.txt: * Copyright (C) 2004-2005 by Digital Mars, www.digitalmars.com * Written by Walter Bright (followed by BSD license) Those lines are an issue. Are you asking for copyright assignment? That's a bit much to ask. An alternative problem is this: * Placed in the Public Domain A number of modules in phobos/internal are marked public domain. Are you asking for Tango's internals to be placed in the public domain? That also is a bit much to ask.
Walter is asking for us to give him the right to distribute any and all of Tango within Phobos under the Public Domain license. What I've never understood is why it's enough for myself, Kris, and Lars to provide this permission when Tango has had a ton of individual contributors. But then I am not a lawyer. Sean
Aug 14 2008
parent Walter Bright <newshound1 digitalmars.com> writes:
Sean Kelly wrote:
 Walter is asking for us to give him the right to distribute any and all 
 of Tango within Phobos under the Public Domain license.  What I've never 
 understood is why it's enough for myself, Kris, and Lars to provide this 
 permission when Tango has had a ton of individual contributors.  But 
 then I am not a lawyer.
Because you guys are the leaders and spokesmen for Tango. But that's moot at the moment anyway, because it seems what you have provided is sufficient, and I thank you for that.
Aug 14 2008
prev sibling parent reply Walter Bright <newshound1 digitalmars.com> writes:
Christopher Wright wrote:
 Walter Bright wrote:
 Lars Ivar Igesund wrote:
 Walter Bright wrote:
 I have explained this to the main Tango developers on multiple
 occasions. It is their right and privilege to license Tango as they see
 fit, and I respect that and so have not spoken out on it before. But in
 this thread I am being cast as a roadblock, which I feel is a little
 unfair, so I will loosen my tongue and speak up a bit :-)
And we have on equally many occasions told you that the code you need is available. :)
I respectfully disagree. The Tango team has stopped short of providing a license to use the Tango code in Phobos with a reciprocal agreement that allows it to be distributed under the Phobos license. I also cannot accept something vague, it has to be explicit. I've dealt with lawyers many times, and spelling it out directly and explicitly avoids a lot of future potential problems. Furthermore, if Phobos has a wishy-washy legal pedigree, corporate lawyers will not buy off on allowing D to be used in their companies. This issue must be settled in advance of looking at Tango, not after the fact.
From phobos/phoboslicense.txt: * Copyright (C) 2004-2005 by Digital Mars, www.digitalmars.com * Written by Walter Bright (followed by BSD license) Those lines are an issue. Are you asking for copyright assignment? That's a bit much to ask.
I've provided the same to Tango.
 An alternative problem is this:
  *  Placed in the Public Domain
 
 A number of modules in phobos/internal are marked public domain. Are you 
 asking for Tango's internals to be placed in the public domain? That 
 also is a bit much to ask.
Why is it a bit much to ask?
 The BSD license is simply public domain with attribution.
No, it is not. Public Domain code is not copyrighted and does not require a license.
 So what is the 
 issue with using it? Phobos already uses it. Just with your name as the 
 copyright holder.
 
 Or do you want an agreement to allow relicensing of Phobos and Tango, 
 let's say to incompatible licenses, and still allow Phobos and Tango to 
 share code afterward?
 
 It's unclear what you want or need that you don't already have.
The problems are two: 1. Phobos has already been accused of stealing code from Tango. Therefore, I would like explicit permission from the Tango team. I am not going to take code from Tango and put it in Phobos without explicit permission from the Tango team. Any hint of Phobos not having a clean legal pedigree will impair its adoption. 2. Having multiple licenses for one source module is an untenable situation.
Aug 14 2008
next sibling parent Robert Fraser <fraserofthenight gmail.com> writes:
Walter Bright Wrote:
 The problems are two:
 
 1. Phobos has already been accused of stealing code from Tango. 
 Therefore, I would like explicit permission from the Tango team. I am 
 not going to take code from Tango and put it in Phobos without explicit 
 permission from the Tango team. Any hint of Phobos not having a clean 
 legal pedigree will impair its adoption.
 
 2. Having multiple licenses for one source module is an untenable situation.
From reading this thread, it seems Sean gave permission for the Tango runtime to be re-licensed under the Phobos one. Given this, is the roadblock that you also need permission for the user code or that Sean's permission given for the runtime was not explicit enough?
Aug 14 2008
prev sibling parent reply Christopher Wright <dhasenan gmail.com> writes:
Walter Bright wrote:
 Christopher Wright wrote:
 Walter Bright wrote:
 Lars Ivar Igesund wrote:
 Walter Bright wrote:
 I have explained this to the main Tango developers on multiple
 occasions. It is their right and privilege to license Tango as they 
 see
 fit, and I respect that and so have not spoken out on it before. 
 But in
 this thread I am being cast as a roadblock, which I feel is a little
 unfair, so I will loosen my tongue and speak up a bit :-)
And we have on equally many occasions told you that the code you need is available. :)
I respectfully disagree. The Tango team has stopped short of providing a license to use the Tango code in Phobos with a reciprocal agreement that allows it to be distributed under the Phobos license. I also cannot accept something vague, it has to be explicit. I've dealt with lawyers many times, and spelling it out directly and explicitly avoids a lot of future potential problems. Furthermore, if Phobos has a wishy-washy legal pedigree, corporate lawyers will not buy off on allowing D to be used in their companies. This issue must be settled in advance of looking at Tango, not after the fact.
From phobos/phoboslicense.txt: * Copyright (C) 2004-2005 by Digital Mars, www.digitalmars.com * Written by Walter Bright (followed by BSD license) Those lines are an issue. Are you asking for copyright assignment? That's a bit much to ask.
I've provided the same to Tango.
If you had assigned your copyright to the Tango developers, then the files would read: * Copyright (C) 2004-2005 by Sean Kelly, Lars Ivar Igesund, Don Clugson....
 An alternative problem is this:
  *  Placed in the Public Domain

 A number of modules in phobos/internal are marked public domain. Are 
 you asking for Tango's internals to be placed in the public domain? 
 That also is a bit much to ask.
Why is it a bit much to ask?
The BSD license allows anyone to do anything with the work as long as the authors get proper recognition. The one incentive to distribute the work is this recognition (besides encouraging others to help with the project). If you're not going to take any Tango code and claim that it is yours, then the BSD license shouldn't cause any problems for you. If you require public domain, that implies that the BSD license causes problems for you. That implies that you're going to steal code. I don't believe that you would do so. But by requiring Tango to be placed in the public domain, you're allowing everyone else to do so.
 The BSD license is simply public domain with attribution.
No, it is not. Public Domain code is not copyrighted and does not require a license.
 So what is the issue with using it? Phobos already uses it. Just with 
 your name as the copyright holder.

 Or do you want an agreement to allow relicensing of Phobos and Tango, 
 let's say to incompatible licenses, and still allow Phobos and Tango 
 to share code afterward?

 It's unclear what you want or need that you don't already have.
The problems are two: 1. Phobos has already been accused of stealing code from Tango. Therefore, I would like explicit permission from the Tango team. I am not going to take code from Tango and put it in Phobos without explicit permission from the Tango team. Any hint of Phobos not having a clean legal pedigree will impair its adoption.
The BSD license is explicit permission. Or do you intend to redistribute Tango code without proper attribution?
 2. Having multiple licenses for one source module is an untenable 
 situation.
You can license any merged modules under the BSD license, unless they are under some other license currently. Public domain isn't a license, and it's compatible with every license.
Aug 14 2008
parent reply superdan <super dan.org> writes:
Christopher Wright Wrote:

 Walter Bright wrote:
 Christopher Wright wrote:
 A number of modules in phobos/internal are marked public domain. Are 
 you asking for Tango's internals to be placed in the public domain? 
 That also is a bit much to ask.
Why is it a bit much to ask?
The BSD license allows anyone to do anything with the work as long as the authors get proper recognition. The one incentive to distribute the work is this recognition (besides encouraging others to help with the project). If you're not going to take any Tango code and claim that it is yours, then the BSD license shouldn't cause any problems for you. If you require public domain, that implies that the BSD license causes problems for you. That implies that you're going to steal code.
you're not following what walt says eh. his problem is not he wanna steal and get away with it. problem is that he doesn't wanna be accused of stealing. poop man. he got accused before even lookin' at the gorram thing. also his problem is not he doesn't wanna acknowledge whodunit. i grepped around phobos and there's many names in there. there's even a guy whos name is in there tho all his stuff has been rewritten since. what walt wanna is look at tango without fear that some dood will cry he stole his code. after all there's only this many ways you can do trivial sh... stuff like async i/o and logging and containers. slander comes easily and goes not so easily. is he paranoid? sure as hell he is. oh, wait. some dood _did_ cry walt stole (thru brad) his precious soon as they was within a hundred miles. all this while walt is known to give credit down to the dog pooping in the driveway walt was looking at when he came with an idea. give me an intercoursing break.
 I don't believe that you would do so. But by requiring Tango to be 
 placed in the public domain, you're allowing everyone else to do so.
he didn't require tango to be placed in the public domain. he asked for the same deal he gave to tango. actually he didn't even ask. he just mentioned what it takes for him to look at the code.
 The BSD license is simply public domain with attribution.
No, it is not. Public Domain code is not copyrighted and does not require a license.
>
 So what is the issue with using it? Phobos already uses it. Just with 
 your name as the copyright holder.

 Or do you want an agreement to allow relicensing of Phobos and Tango, 
 let's say to incompatible licenses, and still allow Phobos and Tango 
 to share code afterward?

 It's unclear what you want or need that you don't already have.
The problems are two: 1. Phobos has already been accused of stealing code from Tango. Therefore, I would like explicit permission from the Tango team. I am not going to take code from Tango and put it in Phobos without explicit permission from the Tango team. Any hint of Phobos not having a clean legal pedigree will impair its adoption.
The BSD license is explicit permission. Or do you intend to redistribute Tango code without proper attribution?
no. he just wants to escape the tyranny of slander. he's just worried that a tyrangot will _claim_ walt redistributed tango code without proper attribution.
Aug 14 2008
next sibling parent reply "Steven Schveighoffer" <schveiguy yahoo.com> writes:
"superdan" wrote
 Christopher Wright Wrote:

 Walter Bright wrote:
 Christopher Wright wrote:
 A number of modules in phobos/internal are marked public domain. Are
 you asking for Tango's internals to be placed in the public domain?
 That also is a bit much to ask.
Why is it a bit much to ask?
The BSD license allows anyone to do anything with the work as long as the authors get proper recognition. The one incentive to distribute the work is this recognition (besides encouraging others to help with the project). If you're not going to take any Tango code and claim that it is yours, then the BSD license shouldn't cause any problems for you. If you require public domain, that implies that the BSD license causes problems for you. That implies that you're going to steal code.
you're not following what walt says eh. his problem is not he wanna steal and get away with it. problem is that he doesn't wanna be accused of stealing. poop man. he got accused before even lookin' at the gorram thing. also his problem is not he doesn't wanna acknowledge whodunit. i grepped around phobos and there's many names in there. there's even a guy whos name is in there tho all his stuff has been rewritten since. what walt wanna is look at tango without fear that some dood will cry he stole his code. after all there's only this many ways you can do trivial sh... stuff like async i/o and logging and containers. slander comes easily and goes not so easily. is he paranoid? sure as hell he is. oh, wait. some dood _did_ cry walt stole (thru brad) his precious soon as they was within a hundred miles. all this while walt is known to give credit down to the dog pooping in the driveway walt was looking at when he came with an idea. give me an intercoursing break.
The problem is, there is never a guarantee of that. Joe Shmoe can come along and claim that he works with Sean and Sean stole all his D Thread code and gave it to tango. Now, even though the entire Tango team has given permission to Walter, he is still in trouble. The answer is, either Walter accepts that Sean (and others who gave permission) are the rightful owners of the Tango runtime, and he has permission to use it, or Walter is so paranoid that he trusts nobody who says they own code, and he doesn't use it. He needs to have some faith that the person who says they own the code actually does.
 I don't believe that you would do so. But by requiring Tango to be
 placed in the public domain, you're allowing everyone else to do so.
he didn't require tango to be placed in the public domain. he asked for the same deal he gave to tango. actually he didn't even ask. he just mentioned what it takes for him to look at the code.
I agree with you on this, but the fact still remains that Walter is not safe as soon as he looks at any code, no matter who says they wrote it, unless he himself wrote it. I think this is taking it a little too extreme.
 The BSD license is simply public domain with attribution.
No, it is not. Public Domain code is not copyrighted and does not require a license.
>
 So what is the issue with using it? Phobos already uses it. Just with
 your name as the copyright holder.

 Or do you want an agreement to allow relicensing of Phobos and Tango,
 let's say to incompatible licenses, and still allow Phobos and Tango
 to share code afterward?

 It's unclear what you want or need that you don't already have.
The problems are two: 1. Phobos has already been accused of stealing code from Tango. Therefore, I would like explicit permission from the Tango team. I am not going to take code from Tango and put it in Phobos without explicit permission from the Tango team. Any hint of Phobos not having a clean legal pedigree will impair its adoption.
The BSD license is explicit permission. Or do you intend to redistribute Tango code without proper attribution?
no. he just wants to escape the tyranny of slander. he's just worried that a tyrangot will _claim_ walt redistributed tango code without proper attribution.
The owners have given him permission, and promised not to slander. Anyone who cries foul after the rightful owners have given permission is full of crap, and I will be the first to say so. So long as Walter and co. just look at the proper files (the ones with the permission). Hell, I don't care if he looks at all of tango, as long as he either doesn't copy the code, or if he does, obeys the license requirements. I don't think any Tango devs are waiting to jump on Walter at the first chance Phobos is compatible with Tango. I think everyone in Tango is interested in having Phobos and Tango compatible. -Steve
Aug 14 2008
parent reply superdan <super dan.org> writes:
Steven Schveighoffer Wrote:

 "superdan" wrote
 Christopher Wright Wrote:

 Walter Bright wrote:
 Christopher Wright wrote:
 A number of modules in phobos/internal are marked public domain. Are
 you asking for Tango's internals to be placed in the public domain?
 That also is a bit much to ask.
Why is it a bit much to ask?
The BSD license allows anyone to do anything with the work as long as the authors get proper recognition. The one incentive to distribute the work is this recognition (besides encouraging others to help with the project). If you're not going to take any Tango code and claim that it is yours, then the BSD license shouldn't cause any problems for you. If you require public domain, that implies that the BSD license causes problems for you. That implies that you're going to steal code.
you're not following what walt says eh. his problem is not he wanna steal and get away with it. problem is that he doesn't wanna be accused of stealing. poop man. he got accused before even lookin' at the gorram thing. also his problem is not he doesn't wanna acknowledge whodunit. i grepped around phobos and there's many names in there. there's even a guy whos name is in there tho all his stuff has been rewritten since. what walt wanna is look at tango without fear that some dood will cry he stole his code. after all there's only this many ways you can do trivial sh... stuff like async i/o and logging and containers. slander comes easily and goes not so easily. is he paranoid? sure as hell he is. oh, wait. some dood _did_ cry walt stole (thru brad) his precious soon as they was within a hundred miles. all this while walt is known to give credit down to the dog pooping in the driveway walt was looking at when he came with an idea. give me an intercoursing break.
The problem is, there is never a guarantee of that. Joe Shmoe can come along and claim that he works with Sean and Sean stole all his D Thread code and gave it to tango. Now, even though the entire Tango team has given permission to Walter, he is still in trouble.
do you want us to participate in a dialog. or revel in improbable possibilities. this is a red herring.
 The answer is, either Walter accepts that Sean (and others who gave 
 permission) are the rightful owners of the Tango runtime, and he has 
 permission to use it, or Walter is so paranoid that he trusts nobody who 
 says they own code, and he doesn't use it.  He needs to have some faith that 
 the person who says they own the code actually does.
i gather you don't quite read all messages. walt don't want to deliver a compiler with code he can't control. he must deliver code he can change. if that code works with tango walt must know what he gotta do. to do so he must look at tango. sean is cool with that. kris and lars "mi" ivar arent.
 I don't believe that you would do so. But by requiring Tango to be
 placed in the public domain, you're allowing everyone else to do so.
he didn't require tango to be placed in the public domain. he asked for the same deal he gave to tango. actually he didn't even ask. he just mentioned what it takes for him to look at the code.
I agree with you on this, but the fact still remains that Walter is not safe as soon as he looks at any code, no matter who says they wrote it, unless he himself wrote it. I think this is taking it a little too extreme.
yeah, ur interpretation. that's extreme.
 The BSD license is simply public domain with attribution.
No, it is not. Public Domain code is not copyrighted and does not require a license.
>
 So what is the issue with using it? Phobos already uses it. Just with
 your name as the copyright holder.

 Or do you want an agreement to allow relicensing of Phobos and Tango,
 let's say to incompatible licenses, and still allow Phobos and Tango
 to share code afterward?

 It's unclear what you want or need that you don't already have.
The problems are two: 1. Phobos has already been accused of stealing code from Tango. Therefore, I would like explicit permission from the Tango team. I am not going to take code from Tango and put it in Phobos without explicit permission from the Tango team. Any hint of Phobos not having a clean legal pedigree will impair its adoption.
The BSD license is explicit permission. Or do you intend to redistribute Tango code without proper attribution?
no. he just wants to escape the tyranny of slander. he's just worried that a tyrangot will _claim_ walt redistributed tango code without proper attribution.
The owners have given him permission, and promised not to slander.
now i am sure u read every other message in this thread. go back and read'em all.
  Anyone 
 who cries foul after the rightful owners have given permission is full of 
 crap, and I will be the first to say so.
no permission was given. do you like me post drunk sometimes.
  So long as Walter and co. just 
 look at the proper files (the ones with the permission).  Hell, I don't care 
 if he looks at all of tango, as long as he either doesn't copy the code, or 
 if he does, obeys the license requirements.
_you_ don't care. others can't wait. they cried foul as soon as there was potential code could've been copied. gorramit. at least if there was da momma of all code. but it's java containers net stack log4j etc. just how many ways could log4j be in d.
 I don't think any Tango devs are waiting to jump on Walter at the first 
 chance Phobos is compatible with Tango.  I think everyone in Tango is 
 interested in having Phobos and Tango compatible.
would be great but don't quite look like it. why don't u do some homework and read messages. i took 2 days. then talk.
Aug 14 2008
parent reply "Steven Schveighoffer" <schveiguy yahoo.com> writes:
"superdan" wrote
 Steven Schveighoffer Wrote:

 "superdan" wrote
 Christopher Wright Wrote:

 Walter Bright wrote:
 Christopher Wright wrote:
 A number of modules in phobos/internal are marked public domain. 
 Are
 you asking for Tango's internals to be placed in the public domain?
 That also is a bit much to ask.
Why is it a bit much to ask?
The BSD license allows anyone to do anything with the work as long as the authors get proper recognition. The one incentive to distribute the work is this recognition (besides encouraging others to help with the project). If you're not going to take any Tango code and claim that it is yours, then the BSD license shouldn't cause any problems for you. If you require public domain, that implies that the BSD license causes problems for you. That implies that you're going to steal code.
you're not following what walt says eh. his problem is not he wanna steal and get away with it. problem is that he doesn't wanna be accused of stealing. poop man. he got accused before even lookin' at the gorram thing. also his problem is not he doesn't wanna acknowledge whodunit. i grepped around phobos and there's many names in there. there's even a guy whos name is in there tho all his stuff has been rewritten since. what walt wanna is look at tango without fear that some dood will cry he stole his code. after all there's only this many ways you can do trivial sh... stuff like async i/o and logging and containers. slander comes easily and goes not so easily. is he paranoid? sure as hell he is. oh, wait. some dood _did_ cry walt stole (thru brad) his precious soon as they was within a hundred miles. all this while walt is known to give credit down to the dog pooping in the driveway walt was looking at when he came with an idea. give me an intercoursing break.
The problem is, there is never a guarantee of that. Joe Shmoe can come along and claim that he works with Sean and Sean stole all his D Thread code and gave it to tango. Now, even though the entire Tango team has given permission to Walter, he is still in trouble.
do you want us to participate in a dialog. or revel in improbable possibilities. this is a red herring.
I'm glad you see the futility in it :) I was going off of the messages that said that the owners of the runtime gave permission, but for some reason Walter still refused to look at the runtime package that Sean sent. What I read in other messages (yes, I've read every one, except for the rant on copyrights and pirating) is that he accepts that Sean (and others) gave permission, but it's possible that some of the other Tango devs had a hand in the runtime (even though they don't claim authorship), and so he wants the permission of ALL the Tango devs. Sounds a little extreme to me, so I pointed out that this issue is not black and white. There is a risk associated with it, and I believe Tango devs have minimized the risk, while still protecting their rights as developers for code Walter doesn't need.
 The answer is, either Walter accepts that Sean (and others who gave
 permission) are the rightful owners of the Tango runtime, and he has
 permission to use it, or Walter is so paranoid that he trusts nobody who
 says they own code, and he doesn't use it.  He needs to have some faith 
 that
 the person who says they own the code actually does.
i gather you don't quite read all messages. walt don't want to deliver a compiler with code he can't control. he must deliver code he can change. if that code works with tango walt must know what he gotta do. to do so he must look at tango. sean is cool with that. kris and lars "mi" ivar arent.
You gather incorrectly. You also have not understood that Tango is split into runtime and user code. Walter needs to look at the Tango-runtime code, not Tango-user code. And for that, he has the permission he needs (from Sean). He doesn't need permission from Kris and Lars because they don't modify the runtime code. And nobody is claiming that Walter can't control the Tango code that he uses. Without any extra permission, I can copy the Tango code, and modify it to my hearts content, release it in binary and source form till the day I die, as long as I give the original authors credit. I think Walter understands that view as he has the SAME REQUIREMENTS on Phobos. What I have understood from the messages is that he does not want to look at tango in case he (in the future) writes something similar to the tango code without realizing it, and gets blamed for copyright infringement. If he only looks at the runtime code, he shouldn't have anything to worry about.
 I don't believe that you would do so. But by requiring Tango to be
 placed in the public domain, you're allowing everyone else to do so.
he didn't require tango to be placed in the public domain. he asked for the same deal he gave to tango. actually he didn't even ask. he just mentioned what it takes for him to look at the code.
I agree with you on this, but the fact still remains that Walter is not safe as soon as he looks at any code, no matter who says they wrote it, unless he himself wrote it. I think this is taking it a little too extreme.
yeah, ur interpretation. that's extreme.
It's just a possibility, not what I think is likely :) In anything like this, there is always *some* risk. That is what I was trying to convey.
 The BSD license is simply public domain with attribution.
No, it is not. Public Domain code is not copyrighted and does not require a license.
>
 So what is the issue with using it? Phobos already uses it. Just 
 with
 your name as the copyright holder.

 Or do you want an agreement to allow relicensing of Phobos and 
 Tango,
 let's say to incompatible licenses, and still allow Phobos and 
 Tango
 to share code afterward?

 It's unclear what you want or need that you don't already have.
The problems are two: 1. Phobos has already been accused of stealing code from Tango. Therefore, I would like explicit permission from the Tango team. I am not going to take code from Tango and put it in Phobos without explicit permission from the Tango team. Any hint of Phobos not having a clean legal pedigree will impair its adoption.
The BSD license is explicit permission. Or do you intend to redistribute Tango code without proper attribution?
no. he just wants to escape the tyranny of slander. he's just worried that a tyrangot will _claim_ walt redistributed tango code without proper attribution.
The owners have given him permission, and promised not to slander.
now i am sure u read every other message in this thread. go back and read'em all.
No need, I remember everything :)
  Anyone
 who cries foul after the rightful owners have given permission is full of
 crap, and I will be the first to say so.
no permission was given. do you like me post drunk sometimes.
Quote from Sean: "As the author of this code, I've long since given my permission. I believe that's all that's necessary." Quote from Walter: "In order for Phobos to move towards compatibility, I need a reciprocal statement from the Tango team. The Tango license does not allow this, and I try to be very careful in making sure Phobos is clean from a legal standpoint. Sean and Don have been most generous in offering such" Which should be enough. Sean is the owner of the code he needs, nobody else on the Tango team owns the runtime code. Sean has even sent Walter a package file with the code he owns which (quote from Walter): "is probably sufficient to get compatibility, in which case that is plenty good enough." So it looks like he has what he needs legally and technically to get it done. I might be wrong, but his recent posts sound like he is now satisfied with what he has.
  So long as Walter and co. just
 look at the proper files (the ones with the permission).  Hell, I don't 
 care
 if he looks at all of tango, as long as he either doesn't copy the code, 
 or
 if he does, obeys the license requirements.
_you_ don't care. others can't wait. they cried foul as soon as there was potential code could've been copied. gorramit. at least if there was da momma of all code. but it's java containers net stack log4j etc. just how many ways could log4j be in d.
I wasn't here for that. I don't know what was said or who said it, but there is a history of Phobos/Tango bad blood that I really am not a part of, and can't really comment on. All I can say is that, although the wounds seem to still exist, the two parties both seem interested in resolving this problem. And there is a huge investment of time and energy into Tango. The developers have every right to ensure that nobody else claims they wrote it. I don't think Walter needs blanket permission to circumvent that.
 I don't think any Tango devs are waiting to jump on Walter at the first
 chance Phobos is compatible with Tango.  I think everyone in Tango is
 interested in having Phobos and Tango compatible.
would be great but don't quite look like it. why don't u do some homework and read messages. i took 2 days. then talk.
I read as they come in, and respond as I read. You are completely wrong if you think the Tango people don't want this resolved. -Steve
Aug 15 2008
parent reply Vincent Richomme <forumer smartmobili.com> writes:
Steven Schveighoffer a crit :
 "superdan" wrote
 Steven Schveighoffer Wrote:

 "superdan" wrote
 Christopher Wright Wrote:

 Walter Bright wrote:
 Christopher Wright wrote:
 A number of modules in phobos/internal are marked public domain. 
 Are
 you asking for Tango's internals to be placed in the public domain?
 That also is a bit much to ask.
Why is it a bit much to ask?
The BSD license allows anyone to do anything with the work as long as the authors get proper recognition. The one incentive to distribute the work is this recognition (besides encouraging others to help with the project). If you're not going to take any Tango code and claim that it is yours, then the BSD license shouldn't cause any problems for you. If you require public domain, that implies that the BSD license causes problems for you. That implies that you're going to steal code.
you're not following what walt says eh. his problem is not he wanna steal and get away with it. problem is that he doesn't wanna be accused of stealing. poop man. he got accused before even lookin' at the gorram thing. also his problem is not he doesn't wanna acknowledge whodunit. i grepped around phobos and there's many names in there. there's even a guy whos name is in there tho all his stuff has been rewritten since. what walt wanna is look at tango without fear that some dood will cry he stole his code. after all there's only this many ways you can do trivial sh... stuff like async i/o and logging and containers. slander comes easily and goes not so easily. is he paranoid? sure as hell he is. oh, wait. some dood _did_ cry walt stole (thru brad) his precious soon as they was within a hundred miles. all this while walt is known to give credit down to the dog pooping in the driveway walt was looking at when he came with an idea. give me an intercoursing break.
The problem is, there is never a guarantee of that. Joe Shmoe can come along and claim that he works with Sean and Sean stole all his D Thread code and gave it to tango. Now, even though the entire Tango team has given permission to Walter, he is still in trouble.
do you want us to participate in a dialog. or revel in improbable possibilities. this is a red herring.
I'm glad you see the futility in it :) I was going off of the messages that said that the owners of the runtime gave permission, but for some reason Walter still refused to look at the runtime package that Sean sent. What I read in other messages (yes, I've read every one, except for the rant on copyrights and pirating) is that he accepts that Sean (and others) gave permission, but it's possible that some of the other Tango devs had a hand in the runtime (even though they don't claim authorship), and so he wants the permission of ALL the Tango devs. Sounds a little extreme to me, so I pointed out that this issue is not black and white. There is a risk associated with it, and I believe Tango devs have minimized the risk, while still protecting their rights as developers for code Walter doesn't need.
 The answer is, either Walter accepts that Sean (and others who gave
 permission) are the rightful owners of the Tango runtime, and he has
 permission to use it, or Walter is so paranoid that he trusts nobody who
 says they own code, and he doesn't use it.  He needs to have some faith 
 that
 the person who says they own the code actually does.
i gather you don't quite read all messages. walt don't want to deliver a compiler with code he can't control. he must deliver code he can change. if that code works with tango walt must know what he gotta do. to do so he must look at tango. sean is cool with that. kris and lars "mi" ivar arent.
You gather incorrectly. You also have not understood that Tango is split into runtime and user code. Walter needs to look at the Tango-runtime code, not Tango-user code. And for that, he has the permission he needs (from Sean). He doesn't need permission from Kris and Lars because they don't modify the runtime code. And nobody is claiming that Walter can't control the Tango code that he uses. Without any extra permission, I can copy the Tango code, and modify it to my hearts content, release it in binary and source form till the day I die, as long as I give the original authors credit. I think Walter understands that view as he has the SAME REQUIREMENTS on Phobos. What I have understood from the messages is that he does not want to look at tango in case he (in the future) writes something similar to the tango code without realizing it, and gets blamed for copyright infringement. If he only looks at the runtime code, he shouldn't have anything to worry about.
 I don't believe that you would do so. But by requiring Tango to be
 placed in the public domain, you're allowing everyone else to do so.
he didn't require tango to be placed in the public domain. he asked for the same deal he gave to tango. actually he didn't even ask. he just mentioned what it takes for him to look at the code.
I agree with you on this, but the fact still remains that Walter is not safe as soon as he looks at any code, no matter who says they wrote it, unless he himself wrote it. I think this is taking it a little too extreme.
yeah, ur interpretation. that's extreme.
It's just a possibility, not what I think is likely :) In anything like this, there is always *some* risk. That is what I was trying to convey.
 The BSD license is simply public domain with attribution.
No, it is not. Public Domain code is not copyrighted and does not require a license.
>
 So what is the issue with using it? Phobos already uses it. Just 
 with
 your name as the copyright holder.

 Or do you want an agreement to allow relicensing of Phobos and 
 Tango,
 let's say to incompatible licenses, and still allow Phobos and 
 Tango
 to share code afterward?

 It's unclear what you want or need that you don't already have.
The problems are two: 1. Phobos has already been accused of stealing code from Tango. Therefore, I would like explicit permission from the Tango team. I am not going to take code from Tango and put it in Phobos without explicit permission from the Tango team. Any hint of Phobos not having a clean legal pedigree will impair its adoption.
The BSD license is explicit permission. Or do you intend to redistribute Tango code without proper attribution?
no. he just wants to escape the tyranny of slander. he's just worried that a tyrangot will _claim_ walt redistributed tango code without proper attribution.
The owners have given him permission, and promised not to slander.
now i am sure u read every other message in this thread. go back and read'em all.
No need, I remember everything :)
  Anyone
 who cries foul after the rightful owners have given permission is full of
 crap, and I will be the first to say so.
no permission was given. do you like me post drunk sometimes.
Quote from Sean: "As the author of this code, I've long since given my permission. I believe that's all that's necessary." Quote from Walter: "In order for Phobos to move towards compatibility, I need a reciprocal statement from the Tango team. The Tango license does not allow this, and I try to be very careful in making sure Phobos is clean from a legal standpoint. Sean and Don have been most generous in offering such" Which should be enough. Sean is the owner of the code he needs, nobody else on the Tango team owns the runtime code. Sean has even sent Walter a package file with the code he owns which (quote from Walter): "is probably sufficient to get compatibility, in which case that is plenty good enough." So it looks like he has what he needs legally and technically to get it done. I might be wrong, but his recent posts sound like he is now satisfied with what he has.
  So long as Walter and co. just
 look at the proper files (the ones with the permission).  Hell, I don't 
 care
 if he looks at all of tango, as long as he either doesn't copy the code, 
 or
 if he does, obeys the license requirements.
_you_ don't care. others can't wait. they cried foul as soon as there was potential code could've been copied. gorramit. at least if there was da momma of all code. but it's java containers net stack log4j etc. just how many ways could log4j be in d.
I wasn't here for that. I don't know what was said or who said it, but there is a history of Phobos/Tango bad blood that I really am not a part of, and can't really comment on. All I can say is that, although the wounds seem to still exist, the two parties both seem interested in resolving this problem. And there is a huge investment of time and energy into Tango. The developers have every right to ensure that nobody else claims they wrote it. I don't think Walter needs blanket permission to circumvent that.
 I don't think any Tango devs are waiting to jump on Walter at the first
 chance Phobos is compatible with Tango.  I think everyone in Tango is
 interested in having Phobos and Tango compatible.
would be great but don't quite look like it. why don't u do some homework and read messages. i took 2 days. then talk.
I read as they come in, and respond as I read. You are completely wrong if you think the Tango people don't want this resolved. -Steve
I don't really understand all this battle between Phobos and Tango but I would like to express my feeling as a user. I am working for a few months on cross-compilers for embedded platforms and I have started with wince. My first idea was to build specific libraries with an approach inspired from Java or .Net Worlds and I didn't want to use phobos nor tango. First I thought that everything I need was the D compiler with no runtime at all and I could built my lib beyond it but I think it doesn't work like that. I only hope this issue will be solved quickly and we 'll get a common runtime.
Aug 15 2008
parent Sean Kelly <sean invisibleduck.org> writes:
Vincent Richomme wrote:
 Steven Schveighoffer a crit :
 "superdan" wrote
 Steven Schveighoffer Wrote:

 "superdan" wrote
 Christopher Wright Wrote:

 Walter Bright wrote:
 Christopher Wright wrote:
 A number of modules in phobos/internal are marked public domain. 
 Are
 you asking for Tango's internals to be placed in the public domain?
 That also is a bit much to ask.
Why is it a bit much to ask?
The BSD license allows anyone to do anything with the work as long as the authors get proper recognition. The one incentive to distribute the work is this recognition (besides encouraging others to help with the project). If you're not going to take any Tango code and claim that it is yours, then the BSD license shouldn't cause any problems for you. If you require public domain, that implies that the BSD license causes problems for you. That implies that you're going to steal code.
you're not following what walt says eh. his problem is not he wanna steal and get away with it. problem is that he doesn't wanna be accused of stealing. poop man. he got accused before even lookin' at the gorram thing. also his problem is not he doesn't wanna acknowledge whodunit. i grepped around phobos and there's many names in there. there's even a guy whos name is in there tho all his stuff has been rewritten since. what walt wanna is look at tango without fear that some dood will cry he stole his code. after all there's only this many ways you can do trivial sh... stuff like async i/o and logging and containers. slander comes easily and goes not so easily. is he paranoid? sure as hell he is. oh, wait. some dood _did_ cry walt stole (thru brad) his precious soon as they was within a hundred miles. all this while walt is known to give credit down to the dog pooping in the driveway walt was looking at when he came with an idea. give me an intercoursing break.
The problem is, there is never a guarantee of that. Joe Shmoe can come along and claim that he works with Sean and Sean stole all his D Thread code and gave it to tango. Now, even though the entire Tango team has given permission to Walter, he is still in trouble.
do you want us to participate in a dialog. or revel in improbable possibilities. this is a red herring.
I'm glad you see the futility in it :) I was going off of the messages that said that the owners of the runtime gave permission, but for some reason Walter still refused to look at the runtime package that Sean sent. What I read in other messages (yes, I've read every one, except for the rant on copyrights and pirating) is that he accepts that Sean (and others) gave permission, but it's possible that some of the other Tango devs had a hand in the runtime (even though they don't claim authorship), and so he wants the permission of ALL the Tango devs. Sounds a little extreme to me, so I pointed out that this issue is not black and white. There is a risk associated with it, and I believe Tango devs have minimized the risk, while still protecting their rights as developers for code Walter doesn't need.
 The answer is, either Walter accepts that Sean (and others who gave
 permission) are the rightful owners of the Tango runtime, and he has
 permission to use it, or Walter is so paranoid that he trusts nobody 
 who
 says they own code, and he doesn't use it.  He needs to have some 
 faith that
 the person who says they own the code actually does.
i gather you don't quite read all messages. walt don't want to deliver a compiler with code he can't control. he must deliver code he can change. if that code works with tango walt must know what he gotta do. to do so he must look at tango. sean is cool with that. kris and lars "mi" ivar arent.
You gather incorrectly. You also have not understood that Tango is split into runtime and user code. Walter needs to look at the Tango-runtime code, not Tango-user code. And for that, he has the permission he needs (from Sean). He doesn't need permission from Kris and Lars because they don't modify the runtime code. And nobody is claiming that Walter can't control the Tango code that he uses. Without any extra permission, I can copy the Tango code, and modify it to my hearts content, release it in binary and source form till the day I die, as long as I give the original authors credit. I think Walter understands that view as he has the SAME REQUIREMENTS on Phobos. What I have understood from the messages is that he does not want to look at tango in case he (in the future) writes something similar to the tango code without realizing it, and gets blamed for copyright infringement. If he only looks at the runtime code, he shouldn't have anything to worry about.
 I don't believe that you would do so. But by requiring Tango to be
 placed in the public domain, you're allowing everyone else to do so.
he didn't require tango to be placed in the public domain. he asked for the same deal he gave to tango. actually he didn't even ask. he just mentioned what it takes for him to look at the code.
I agree with you on this, but the fact still remains that Walter is not safe as soon as he looks at any code, no matter who says they wrote it, unless he himself wrote it. I think this is taking it a little too extreme.
yeah, ur interpretation. that's extreme.
It's just a possibility, not what I think is likely :) In anything like this, there is always *some* risk. That is what I was trying to convey.
 The BSD license is simply public domain with attribution.
No, it is not. Public Domain code is not copyrighted and does not require a license.
>
 So what is the issue with using it? Phobos already uses it. Just 
 with
 your name as the copyright holder.

 Or do you want an agreement to allow relicensing of Phobos and 
 Tango,
 let's say to incompatible licenses, and still allow Phobos and 
 Tango
 to share code afterward?

 It's unclear what you want or need that you don't already have.
The problems are two: 1. Phobos has already been accused of stealing code from Tango. Therefore, I would like explicit permission from the Tango team. I am not going to take code from Tango and put it in Phobos without explicit permission from the Tango team. Any hint of Phobos not having a clean legal pedigree will impair its adoption.
The BSD license is explicit permission. Or do you intend to redistribute Tango code without proper attribution?
no. he just wants to escape the tyranny of slander. he's just worried that a tyrangot will _claim_ walt redistributed tango code without proper attribution.
The owners have given him permission, and promised not to slander.
now i am sure u read every other message in this thread. go back and read'em all.
No need, I remember everything :)
  Anyone
 who cries foul after the rightful owners have given permission is 
 full of
 crap, and I will be the first to say so.
no permission was given. do you like me post drunk sometimes.
Quote from Sean: "As the author of this code, I've long since given my permission. I believe that's all that's necessary." Quote from Walter: "In order for Phobos to move towards compatibility, I need a reciprocal statement from the Tango team. The Tango license does not allow this, and I try to be very careful in making sure Phobos is clean from a legal standpoint. Sean and Don have been most generous in offering such" Which should be enough. Sean is the owner of the code he needs, nobody else on the Tango team owns the runtime code. Sean has even sent Walter a package file with the code he owns which (quote from Walter): "is probably sufficient to get compatibility, in which case that is plenty good enough." So it looks like he has what he needs legally and technically to get it done. I might be wrong, but his recent posts sound like he is now satisfied with what he has.
  So long as Walter and co. just
 look at the proper files (the ones with the permission).  Hell, I 
 don't care
 if he looks at all of tango, as long as he either doesn't copy the 
 code, or
 if he does, obeys the license requirements.
_you_ don't care. others can't wait. they cried foul as soon as there was potential code could've been copied. gorramit. at least if there was da momma of all code. but it's java containers net stack log4j etc. just how many ways could log4j be in d.
I wasn't here for that. I don't know what was said or who said it, but there is a history of Phobos/Tango bad blood that I really am not a part of, and can't really comment on. All I can say is that, although the wounds seem to still exist, the two parties both seem interested in resolving this problem. And there is a huge investment of time and energy into Tango. The developers have every right to ensure that nobody else claims they wrote it. I don't think Walter needs blanket permission to circumvent that.
 I don't think any Tango devs are waiting to jump on Walter at the first
 chance Phobos is compatible with Tango.  I think everyone in Tango is
 interested in having Phobos and Tango compatible.
would be great but don't quite look like it. why don't u do some homework and read messages. i took 2 days. then talk.
I read as they come in, and respond as I read. You are completely wrong if you think the Tango people don't want this resolved. -Steve
I don't really understand all this battle between Phobos and Tango but I would like to express my feeling as a user. I am working for a few months on cross-compilers for embedded platforms and I have started with wince. My first idea was to build specific libraries with an approach inspired from Java or .Net Worlds and I didn't want to use phobos nor tango. First I thought that everything I need was the D compiler with no runtime at all and I could built my lib beyond it but I think it doesn't work like that. I only hope this issue will be solved quickly and we 'll get a common runtime.
As an aside, I think the most expedient approach for you would be to grab the Tango runtime, ignore the user code, and work on creating a compiler runtime. It can contain as much or as little code as you need so long as you expose the few functions that the other runtime bits rely on. Tango was built from the ground up with this in mind, since basically all of the users of Ares (upon which the Tango runtime is based) were kernel and compiler developers. Sean
Aug 15 2008
prev sibling parent reply Christopher Wright <dhasenan gmail.com> writes:
superdan wrote:
 Christopher Wright Wrote:
 I don't believe that you would do so. But by requiring Tango to be 
 placed in the public domain, you're allowing everyone else to do so.
he didn't require tango to be placed in the public domain. he asked for the same deal he gave to tango. actually he didn't even ask. he just mentioned what it takes for him to look at the code.
He wanted permission to license Tango as Phobos is licensed. Phobos was licensed in a BSD-like license, but Walter has been changing it to public domain. Walter did explicitly say that he wanted to relicense Tango as public domain, I believe.
 The BSD license is explicit permission. Or do you intend to redistribute 
 Tango code without proper attribution?
no. he just wants to escape the tyranny of slander. he's just worried that a tyrangot will _claim_ walt redistributed tango code without proper attribution.
The accusation was ridiculous. As such, Walter would trivially fulfill the requirements of the BSD license.
Aug 15 2008
parent reply "Adam D. Ruppe" <destructionator gmail.com> writes:
On Fri, Aug 15, 2008 at 09:25:50PM -0400, Christopher Wright wrote:
 The accusation was ridiculous. As such, Walter would trivially fulfill 
 the requirements of the BSD license.
What about the users of the language? Suppose the standard library was BSD licensed and I wrote a D program. Am I now required to add their copyright notice with my program whenever I distribute it? That's a pain in the ass. I like to distribute my programs in binary form just by giving a link to the .exe saying 'here it is, do whatever you want with it. Have fun!' With the BSD license restrictions, I couldn't do that. The license in the phobos files is perfect for me. That's how a standard library should be licensed - infinitely convenient. -- Adam D. Ruppe http://arsdnet.net
Aug 15 2008
parent lihong <llzyf sina.com> writes:
We offer World of Warcraft Power Leveling and World of Warcraft
powerleveling,Age of Conan Powerleveling and Lord fo Ring Online
Powerleveling.WoW Powerleveling service and cheap wow Powerleveling,World of
Warcraft Power leveling sale for you. AOC Power leveling,Cheap AOC
Powerleveling .All service is faster,safer,and cheaper.We Please remember,we
are your online game helper.
<a href=http://www.pvpsale.com>WOW Powerleveling</a>
<a href=http://www.pvpsale.com/powerleveling.asp>WOW Power leveling</a>
<a href=http://www.pvpsale.com/World-of-Warcraft-US-Powerleveling.asp>World of
Warcraft Powerleveling</a>
<a href=http://www.pvpsale.com/World-of-Warcraft-EU-Powerleveling.asp>World of
Warcraft power leveling</a>
<a href=http://www.pvpsale.com/World-of-Warcraft-US-Gold.asp>wow gold</a>
<a href=http://www.pvpsale.com/World-of-Warcraft-EU-Gold.asp>wow gold</a>
<a href=http://www.pvpsale.com/Age-of-Conan-Powerleveling.html>Age of Conan
Powerleveling</a>
<a href=http://www.pvpsale.com/Age-of-Conan-Power-leveling.html>Age of Conan
Power leveling</a>
<a href=http://www.pvpsale.com/AOC-Powerleveling.asp>AOC Powerleveling</a>
<a href=http://www.pvpsale.com/AOC-Power-leveling.asp>AOC Power leveling</a>
<a href=http://www.pvpsale.com/AOC-Powerleveling.html>AOC Powerleveling</a>
<a href=http://www.pvpsale.com/AOC-Power-leveling.html>AOC Power leveling</a>
<a href=http://www.pvpsale.com/Final-Fantasy-XI-Gil.asp>Final Fantasy XI Gil</a>
<a href=http://www.pvpsale.com/Final-Fantasy-XI.asp>FFXI Gil</a>
<a href=http://www.pvpsale.com/Florensia-Gold.asp>Florensia Gold</a>
<a href=http://www.pvpsale.com/Dekaron-EU.asp>Dekaron Dil</a>
<a href=http://www.pvpsale.com/Requiem-Online.asp>Requiem Gold</a>
<a href=http://www.pvpsale.com/Rohan-Online.asp>Rohan Gold</a>
<a href=http://www.pvpsale.com/Warhammer-Online-Powerleveling.asp>Warhammer
Powerleveling</a>
<a href=http://www.pvpsale.com/Warhammer-Online.asp>Warhammer Online</a>
Aug 15 2008
prev sibling next sibling parent reply "Steven Schveighoffer" <schveiguy yahoo.com> writes:
"Walter Bright" wrote
 Lars Ivar Igesund wrote:
 Walter Bright wrote:
 I have explained this to the main Tango developers on multiple
 occasions. It is their right and privilege to license Tango as they see
 fit, and I respect that and so have not spoken out on it before. But in
 this thread I am being cast as a roadblock, which I feel is a little
 unfair, so I will loosen my tongue and speak up a bit :-)
And we have on equally many occasions told you that the code you need is available. :)
I respectfully disagree. The Tango team has stopped short of providing a license to use the Tango code in Phobos with a reciprocal agreement that allows it to be distributed under the Phobos license. I also cannot accept something vague, it has to be explicit. I've dealt with lawyers many times, and spelling it out directly and explicitly avoids a lot of future potential problems. Furthermore, if Phobos has a wishy-washy legal pedigree, corporate lawyers will not buy off on allowing D to be used in their companies. This issue must be settled in advance of looking at Tango, not after the fact.
The BSD license of Tango is here http://www.dsource.org/projects/tango/wiki/BSDLicense The license of Phobos is here http://www.dsource.org/projects/phobos/browser/trunk/phobos/phoboslicense.txt These license texts are almost identical. Both say that you can freely distribute the library in source or binary form, as long as you retain the license. Two differences I see. One, the Phobos license requires you to identify if you have changed the file. Two, the Phobos license is more lax on requiring acknowledgement for binaries. But you can't claim you wrote the binary completely without giving acknowledgement (at least, that's my interpretation). I don't want to point any fingers, all I want to do is help resolve the situation. From Walter's camp, are these licenses really THAT different for you to believe that Phobos will be split into 2 licenses? And even if it is, who cares? The license is so similar, you simply include both for the Phobos runtime. Many pieces of software have long lists of acknowledgements and licenses in their binary distribution (i.e. portions of this software copyright ...) From Tango's camp, the Phobos license is very similar, couldn't you allow licensing the runtime under the Phobos license as well? I can't see how it would hurt, the Phobos license is only slightly more restrictive, but still is in the same spirit of the BSD license. The one thing it lacks is an absolute requirement for acknowledgement in binary form, but it is required if you claim authorship of software or distribute in source form. So nobody can go around claiming they wrote Tango, but if they claim any authorship of anything, Tango must be there. Someone's got to give here, maybe there is just a lack of communication, or maybe there are deeper issues under the surface... To me, this is a no brainer. If the license is the only thing stopping you, fix it. I'm willing to help in any way I can. Please set any bad blood aside for this one issue. -Steve
Aug 14 2008
parent reply Sean Kelly <sean invisibleduck.org> writes:
Steven Schveighoffer wrote:
 "Walter Bright" wrote
 Lars Ivar Igesund wrote:
 Walter Bright wrote:
 I have explained this to the main Tango developers on multiple
 occasions. It is their right and privilege to license Tango as they see
 fit, and I respect that and so have not spoken out on it before. But in
 this thread I am being cast as a roadblock, which I feel is a little
 unfair, so I will loosen my tongue and speak up a bit :-)
And we have on equally many occasions told you that the code you need is available. :)
I respectfully disagree. The Tango team has stopped short of providing a license to use the Tango code in Phobos with a reciprocal agreement that allows it to be distributed under the Phobos license. I also cannot accept something vague, it has to be explicit. I've dealt with lawyers many times, and spelling it out directly and explicitly avoids a lot of future potential problems. Furthermore, if Phobos has a wishy-washy legal pedigree, corporate lawyers will not buy off on allowing D to be used in their companies. This issue must be settled in advance of looking at Tango, not after the fact.
The BSD license of Tango is here http://www.dsource.org/projects/tango/wiki/BSDLicense The license of Phobos is here http://www.dsource.org/projects/phobos/browser/trunk/phobos/phoboslicense.txt These license texts are almost identical. Both say that you can freely distribute the library in source or binary form, as long as you retain the license. Two differences I see. One, the Phobos license requires you to identify if you have changed the file. Two, the Phobos license is more lax on requiring acknowledgement for binaries. But you can't claim you wrote the binary completely without giving acknowledgement (at least, that's my interpretation).
This documentation requirement for binaries is why Tango adopted a dual license scheme. In prior jobs I'd never be able to get a corporate lawyer to approve the use of a library containing such a requirement, and I wanted to be able to use Tango at work someday :-)
 From Tango's camp, the Phobos license is very similar, couldn't you allow 
 licensing the runtime under the Phobos license as well?  I can't see how it 
 would hurt, the Phobos license is only slightly more restrictive, but still 
 is in the same spirit of the BSD license.  The one thing it lacks is an 
 absolute requirement for acknowledgement in binary form, but it is required 
 if you claim authorship of software or distribute in source form.  So nobody 
 can go around claiming they wrote Tango, but if they claim any authorship of 
 anything, Tango must be there.
Releasing code into the public domain relinquishes any right to claim authorship as well. I provided permission for Walter to use the runtime code as PD anyway, with the request that Phobos, at least, mention me as the author / contributor as appropriate. But I think it's asking a lot that other Tango contributors do the same... particularly when all their contributions are user code. If this permission were given, Walter could quite legally take all of Tango, relabel it as Phobos and distribute it as his own. Not that I expect him to, but it would be within his rights to do so. Sean
Aug 14 2008
parent reply Walter Bright <newshound1 digitalmars.com> writes:
Sean Kelly wrote:
  If this permission were given, Walter
 could quite legally take all of Tango, relabel it as Phobos and 
 distribute it as his own.  Not that I expect him to, but it would be 
 within his rights to do so.
So could anyone with code in Phobos that I wrote and labeled Public Domain. This hardly seems to be a sensible strategy to feed megalomania <g>. Falsely claiming ownership of public domain code is a futile gesture, as the internet record of these things is not going away, and it would just make the person that tried it a pathetic, obvious fraud. Bottom line, I don't want the license in Phobos to be any impediment to anyone wanting to use D.
Aug 14 2008
parent Bruno Medeiros <brunodomedeiros+spam com.gmail> writes:
Walter Bright wrote:
 Sean Kelly wrote:
  If this permission were given, Walter
 could quite legally take all of Tango, relabel it as Phobos and 
 distribute it as his own.  Not that I expect him to, but it would be 
 within his rights to do so.
So could anyone with code in Phobos that I wrote and labeled Public Domain. This hardly seems to be a sensible strategy to feed megalomania <g>. Falsely claiming ownership of public domain code is a futile gesture, as the internet record of these things is not going away, and it would just make the person that tried it a pathetic, obvious fraud. Bottom line, I don't want the license in Phobos to be any impediment to anyone wanting to use D.
Then, regardless of the Tango-Phobos runtime integration discussion, what do you say about Sean's comment that Phobos license might still pose some problems is certain situations? -- Bruno Medeiros - Software Developer, MSc. in CS/E graduate http://www.prowiki.org/wiki4d/wiki.cgi?BrunoMedeiros#D
Aug 15 2008
prev sibling parent reply Sean Kelly <sean invisibleduck.org> writes:
Walter Bright wrote:
 Lars Ivar Igesund wrote:
 Walter Bright wrote:
 I have explained this to the main Tango developers on multiple
 occasions. It is their right and privilege to license Tango as they see
 fit, and I respect that and so have not spoken out on it before. But in
 this thread I am being cast as a roadblock, which I feel is a little
 unfair, so I will loosen my tongue and speak up a bit :-)
And we have on equally many occasions told you that the code you need is available. :)
I respectfully disagree. The Tango team has stopped short of providing a license to use the Tango code in Phobos with a reciprocal agreement that allows it to be distributed under the Phobos license. I also cannot accept something vague, it has to be explicit. I've dealt with lawyers many times, and spelling it out directly and explicitly avoids a lot of future potential problems. Furthermore, if Phobos has a wishy-washy legal pedigree, corporate lawyers will not buy off on allowing D to be used in their companies.
Personally, I've never met a corporate lawyer who would authorize use of Public Domain code, for two reasons. First, the assumption seems to be that PD code is really actually owned by someone and no one knows who that is. Second, lawyers (and build teams even moreso) very much like having a responsible party, even if the license absolves the author of any direct responsibility for code issues as most licenses do. Case in point, I've never been able to use Boost at any of my previous jobs because the licensing scheme is too open. Also, I've had to fight tooth and nail to use BSD licensed code at work because of the attribution requirement (that the library must be mentioned in documentation accompanying any shipped product). All of the above was considered when working out a licensing scheme for Tango. We wanted a license that would allow Tango to be used by everyone, first and foremost. I could never have done that with Phobos under the current license.
 This issue must be settled in advance of looking at Tango, not after the 
 fact.
The contention is about the user code, I believe. You have asked for blanket permission to incorporate all of Tango as Public Domain code in Phobos even though the only portion of the code you seem to care about is the runtime. As the sole maintainer of the runtime I have long since given you permission to use that portion of the code as you see fit, but this is obviously not sufficient. I honestly have no idea how we can proceed any further, given that I don't expect other Tango contributors to agree to release their (user) code into the Public Domain. Sean
Aug 14 2008
parent reply Moritz Warning <moritzwarning web.de> writes:
On Thu, 14 Aug 2008 11:49:06 -0700, Sean Kelly wrote:

 Walter Bright wrote:
 Lars Ivar Igesund wrote:
 Walter Bright wrote:
 I have explained this to the main Tango developers on multiple
 occasions. It is their right and privilege to license Tango as they
 see fit, and I respect that and so have not spoken out on it before.
 But in this thread I am being cast as a roadblock, which I feel is a
 little unfair, so I will loosen my tongue and speak up a bit :-)
And we have on equally many occasions told you that the code you need is available. :)
I respectfully disagree. The Tango team has stopped short of providing a license to use the Tango code in Phobos with a reciprocal agreement that allows it to be distributed under the Phobos license. I also cannot accept something vague, it has to be explicit. I've dealt with lawyers many times, and spelling it out directly and explicitly avoids a lot of future potential problems. Furthermore, if Phobos has a wishy-washy legal pedigree, corporate lawyers will not buy off on allowing D to be used in their companies.
Personally, I've never met a corporate lawyer who would authorize use of Public Domain code, for two reasons. First, the assumption seems to be that PD code is really actually owned by someone and no one knows who that is. Second, lawyers (and build teams even moreso) very much like having a responsible party, even if the license absolves the author of any direct responsibility for code issues as most licenses do. Case in point, I've never been able to use Boost at any of my previous jobs because the licensing scheme is too open. Also, I've had to fight tooth and nail to use BSD licensed code at work because of the attribution requirement (that the library must be mentioned in documentation accompanying any shipped product). All of the above was considered when working out a licensing scheme for Tango. We wanted a license that would allow Tango to be used by everyone, first and foremost. I could never have done that with Phobos under the current license.
 This issue must be settled in advance of looking at Tango, not after
 the fact.
The contention is about the user code, I believe. You have asked for blanket permission to incorporate all of Tango as Public Domain code in Phobos even though the only portion of the code you seem to care about is the runtime. As the sole maintainer of the runtime I have long since given you permission to use that portion of the code as you see fit, but this is obviously not sufficient. I honestly have no idea how we can proceed any further, given that I don't expect other Tango contributors to agree to release their (user) code into the Public Domain. Sean
That issue will probably be sorted out (I hope). But that don't have to be done right now. There is no license issue with the Tango runtime, Work could be started with the runtime any time. - right? Walter? Sean?
Aug 14 2008
parent Sean Kelly <sean invisibleduck.org> writes:
== Quote from Moritz Warning (moritzwarning web.de)'s article
 On Thu, 14 Aug 2008 11:49:06 -0700, Sean Kelly wrote:
 Walter Bright wrote:
 Lars Ivar Igesund wrote:
 Walter Bright wrote:
 I have explained this to the main Tango developers on multiple
 occasions. It is their right and privilege to license Tango as they
 see fit, and I respect that and so have not spoken out on it before.
 But in this thread I am being cast as a roadblock, which I feel is a
 little unfair, so I will loosen my tongue and speak up a bit :-)
And we have on equally many occasions told you that the code you need is available. :)
I respectfully disagree. The Tango team has stopped short of providing a license to use the Tango code in Phobos with a reciprocal agreement that allows it to be distributed under the Phobos license. I also cannot accept something vague, it has to be explicit. I've dealt with lawyers many times, and spelling it out directly and explicitly avoids a lot of future potential problems. Furthermore, if Phobos has a wishy-washy legal pedigree, corporate lawyers will not buy off on allowing D to be used in their companies.
Personally, I've never met a corporate lawyer who would authorize use of Public Domain code, for two reasons. First, the assumption seems to be that PD code is really actually owned by someone and no one knows who that is. Second, lawyers (and build teams even moreso) very much like having a responsible party, even if the license absolves the author of any direct responsibility for code issues as most licenses do. Case in point, I've never been able to use Boost at any of my previous jobs because the licensing scheme is too open. Also, I've had to fight tooth and nail to use BSD licensed code at work because of the attribution requirement (that the library must be mentioned in documentation accompanying any shipped product). All of the above was considered when working out a licensing scheme for Tango. We wanted a license that would allow Tango to be used by everyone, first and foremost. I could never have done that with Phobos under the current license.
 This issue must be settled in advance of looking at Tango, not after
 the fact.
The contention is about the user code, I believe. You have asked for blanket permission to incorporate all of Tango as Public Domain code in Phobos even though the only portion of the code you seem to care about is the runtime. As the sole maintainer of the runtime I have long since given you permission to use that portion of the code as you see fit, but this is obviously not sufficient. I honestly have no idea how we can proceed any further, given that I don't expect other Tango contributors to agree to release their (user) code into the Public Domain. Sean
That issue will probably be sorted out (I hope). But that don't have to be done right now. There is no license issue with the Tango runtime, Work could be started with the runtime any time. - right? Walter? Sean?
I think so, but Walter apparently disagrees. Sean
Aug 14 2008
prev sibling parent reply Nick B <nick.barbalich gmail.com> writes:
Walter Bright wrote:
 Paul D. Anderson wrote:
 But what I
 would really like to see (and I don't think it's asking too much) is
 a clear statement from Walter that he will indeed make the changes
 the Tango developers are asking for at some future date.
In order for this to happen, I need a clear and unambiguous statement from the Tango developers that Phobos can incorporate parts of the Tango runtime and place them under the Phobos license. I have already provided a reciprocal license to Tango. I've asked for that for over a year, and so far only Sean and Don have done so. Such an agreement is necessary for the following reasons: 1. To ensure Phobos is free of any legal taint and any accusations of stealing code. 2. To avoid the untenable issue of a single module in Phobos having different license for different lines of code. I have explained this to the main Tango developers on multiple occasions. It is their right and privilege to license Tango as they see fit, and I respect that and so have not spoken out on it before. But in this thread I am being cast as a roadblock, which I feel is a little unfair, so I will loosen my tongue and speak up a bit :-)
[Don wrote] The number of people that have touched the runtime layer of Tango is very limited. Walter has confirmed that Sean & Don gave given him the legal statement he requires. So who are the other Tango developers who have submitted code for the runtime layer ? Would these developers like to comment as to why they would, or would not, like to give such a legal statement to Walter ? Nick B.
Aug 14 2008
parent Sean Kelly <sean invisibleduck.org> writes:
Nick B wrote:
 Walter Bright wrote:
 Paul D. Anderson wrote:
 But what I
 would really like to see (and I don't think it's asking too much) is
 a clear statement from Walter that he will indeed make the changes
 the Tango developers are asking for at some future date.
In order for this to happen, I need a clear and unambiguous statement from the Tango developers that Phobos can incorporate parts of the Tango runtime and place them under the Phobos license. I have already provided a reciprocal license to Tango. I've asked for that for over a year, and so far only Sean and Don have done so. Such an agreement is necessary for the following reasons: 1. To ensure Phobos is free of any legal taint and any accusations of stealing code. 2. To avoid the untenable issue of a single module in Phobos having different license for different lines of code. I have explained this to the main Tango developers on multiple occasions. It is their right and privilege to license Tango as they see fit, and I respect that and so have not spoken out on it before. But in this thread I am being cast as a roadblock, which I feel is a little unfair, so I will loosen my tongue and speak up a bit :-)
[Don wrote] The number of people that have touched the runtime layer of Tango is very limited. Walter has confirmed that Sean & Don gave given him the legal statement he requires. So who are the other Tango developers who have submitted code for the runtime layer ?
Mikola Lysenko is the only one I can think of offhand, as Tango's Fiber implementation is based on his StackThreads. Steve S. may be listed as a contributor for the Thread code as well.
 Would these developers like to comment as to why they would, or would 
 not, like to give such a legal statement to Walter ?
As the author of this code, I've long since given my permission. I believe that's all that's necessary. Sean
Aug 14 2008
prev sibling next sibling parent Tiago Carvalho <merlin3000 gmail.com> writes:
Sean Kelly Wrote:

 Steven Schveighoffer wrote:
 "Walter Bright" wrote
 Lars Ivar Igesund wrote:
 Walter Bright wrote:
 I have explained this to the main Tango developers on multiple
 occasions. It is their right and privilege to license Tango as they see
 fit, and I respect that and so have not spoken out on it before. But in
 this thread I am being cast as a roadblock, which I feel is a little
 unfair, so I will loosen my tongue and speak up a bit :-)
And we have on equally many occasions told you that the code you need is available. :)
I respectfully disagree. The Tango team has stopped short of providing a license to use the Tango code in Phobos with a reciprocal agreement that allows it to be distributed under the Phobos license. I also cannot accept something vague, it has to be explicit. I've dealt with lawyers many times, and spelling it out directly and explicitly avoids a lot of future potential problems. Furthermore, if Phobos has a wishy-washy legal pedigree, corporate lawyers will not buy off on allowing D to be used in their companies. This issue must be settled in advance of looking at Tango, not after the fact.
The BSD license of Tango is here http://www.dsource.org/projects/tango/wiki/BSDLicense The license of Phobos is here http://www.dsource.org/projects/phobos/browser/trunk/phobos/phoboslicense.txt These license texts are almost identical. Both say that you can freely distribute the library in source or binary form, as long as you retain the license. Two differences I see. One, the Phobos license requires you to identify if you have changed the file. Two, the Phobos license is more lax on requiring acknowledgement for binaries. But you can't claim you wrote the binary completely without giving acknowledgement (at least, that's my interpretation).
This documentation requirement for binaries is why Tango adopted a dual license scheme. In prior jobs I'd never be able to get a corporate lawyer to approve the use of a library containing such a requirement, and I wanted to be able to use Tango at work someday :-)
 From Tango's camp, the Phobos license is very similar, couldn't you allow 
 licensing the runtime under the Phobos license as well?  I can't see how it 
 would hurt, the Phobos license is only slightly more restrictive, but still 
 is in the same spirit of the BSD license.  The one thing it lacks is an 
 absolute requirement for acknowledgement in binary form, but it is required 
 if you claim authorship of software or distribute in source form.  So nobody 
 can go around claiming they wrote Tango, but if they claim any authorship of 
 anything, Tango must be there.
Releasing code into the public domain relinquishes any right to claim authorship as well. I provided permission for Walter to use the runtime code as PD anyway, with the request that Phobos, at least, mention me as the author / contributor as appropriate. But I think it's asking a lot that other Tango contributors do the same... particularly when all their contributions are user code. If this permission were given, Walter could quite legally take all of Tango, relabel it as Phobos and distribute it as his own. Not that I expect him to, but it would be within his rights to do so. Sean
I'm not an active participant in this thread, but I'm a anxious reader and hoping all gets decided here and now. Probaly It will be best to create a topic just to solve the little things between phobos and tango people that concern the general user. I just have one comment are you sure that once something is released to public domain "...relinquishes any right to claim authorship as well.", because here in Portugal everything that is done by a person is automatically protected as belonging to him. Registering the work and other things like patents (patents probably have other stuff but not relevant to my point) just help to garanty proof that it was made by that person. But unless it's specified otherwise no one can touch anything someone did. But what really relate to what you said is that, the only thing the author cannot do is denie autorship. If he made it, it's his, he can sell, give away everything (like the right to be used in any way, by anyone) except the right to be the author. It's called a undeniable "moral" right. And it just seems such a universal right that I repeat my question are you sure that authorship can be just given up? This is to Walter now... it seems Tango coders would be willing to share Tango if they were to be quoted as authors of that piece of code, independently of the license used (sorry if I misunderstood). So I ask Walter if that is the only thing asked, does it still cause any troubles? Sorry for the english.
Aug 14 2008
prev sibling parent reply bobef <bobef nosmap-abv.bg> writes:
Robert Fraser Wrote:
 Yigal Chripun Wrote:
 
 Robert Fraser wrote:
  > I've had very mixed feelings about all this. One one hand, the letter
 of the
 law may be questionably constitutional. But millions of dollars every day are
 lost because people (including myself occasionally...) steal copyrighted
 material. Honestly, I think there should be much stricter penalties for
 things like internet piracy, because it's simply so widespread and damaging.
Of course you have the right to have your own opinion (that's also in the constitution) but all of the above is bullshit. (sorry for the language). stealing only applies to physical things like chairs and cars. that whole metaphor of information as physical entities is wrong. you sure can infringe someone's copyrights but you cannot steal anything since there's nothing to steal.
Some philosopher said that all philosophical debates were inherently linguistic ones that stemmed from not having the words to represent the concepts being spoken about. We're using different definitions of "steal," but the concept is clear -- it's taking something you don't have the right to have taken without paying for, and the debate is over whether you do or should have that right.
This discussion is, of course, pointless but since I read it I may also comment :) I wan to support Yigal Chripun. So you say stealing is "taking something". But information (and software) is not something. It is not something you can take. I "pirate" something and I have my copy and you have yours. Nothing have been taken all are happy. This is actually a good thing. Too bad food doesn't work this way. The problem is greed. It has nothing to do with stealing.
 I think what a lot of these arguments boil down to is people trying to
 justify taking stuff without paying for it. Plain and simple. I do on occasion
 download videos (these days only anime fansubs).  And I don't feel bad
 about it. But I do know it's stealing. Downloading a $10 CD is really
 no better than shoplifting a $10 CD, because the people who worked to
 bring that CD into existence are not being paid for it.
It is not the same as shoplifting as you are not depriving anyone from anything. So you are not stealing anything. It is moral (and that is relative) to pay for the author's work, but only if you like it. When you buy a CD with 14 shitty songs because you are exposed to advertising of one good one, why don't you pay 1/15 of the price? This is more stealing than "pirating" because you are actually mislead to buy something that you would normally not buy because it sucks. I have had similar discussions but how can you explain my mother who works for 150$ a month (and she needs to eat pay bills, etc with these) that she has to pay MS 500$ for their software that is what? Pixels? Bytes? What? Anyway. In my opinion it comes down to greed cause no one is stealing anything. Just some people are not willing to share although they are not losing anything. And to lose something you must own it. So you can't lose a million dollars of sales because you haven't sold anything in the first place. If authors were more conscious (less greedy) they would share because if the users were more conscious (less living in a society where everyone wants to *make you* pay for something) they would show gratitude by paying. Regards, bobef
Aug 14 2008
next sibling parent reply "Koroskin Denis" <2korden gmail.com> writes:
On Fri, 15 Aug 2008 10:14:32 +0400, bobef <bobef nosmap-abv.bg> wrote:

 Robert Fraser Wrote:
 Yigal Chripun Wrote:

 Robert Fraser wrote:
  > I've had very mixed feelings about all this. One one hand, the  
letter
 of the
 law may be questionably constitutional. But millions of dollars  
every day are
 lost because people (including myself occasionally...) steal  
copyrighted
 material. Honestly, I think there should be much stricter penalties  
for
 things like internet piracy, because it's simply so widespread and  
damaging.
 Of course you have the right to have your own opinion (that's also in
 the constitution) but all of the above is bullshit. (sorry for the
 language).

 stealing only applies to physical things like chairs and cars. that
 whole metaphor of information as physical entities is wrong.
 you sure can infringe someone's copyrights but you cannot steal  
anything
 since there's nothing to steal.
Some philosopher said that all philosophical debates were inherently linguistic ones that stemmed from not having the words to represent the concepts being spoken about. We're using different definitions of "steal," but the concept is clear -- it's taking something you don't have the right to have taken without paying for, and the debate is over whether you do or should have that right.
This discussion is, of course, pointless but since I read it I may also comment :) I wan to support Yigal Chripun. So you say stealing is "taking something". But information (and software) is not something. It is not something you can take. I "pirate" something and I have my copy and you have yours. Nothing have been taken all are happy. This is actually a good thing. Too bad food doesn't work this way. The problem is greed. It has nothing to do with stealing.
 I think what a lot of these arguments boil down to is people trying to
 justify taking stuff without paying for it. Plain and simple. I do on  
 occasion
 download videos (these days only anime fansubs).  And I don't feel bad
 about it. But I do know it's stealing. Downloading a $10 CD is really
 no better than shoplifting a $10 CD, because the people who worked to
 bring that CD into existence are not being paid for it.
It is not the same as shoplifting as you are not depriving anyone from anything. So you are not stealing anything. It is moral (and that is relative) to pay for the author's work, but only if you like it. When you buy a CD with 14 shitty songs because you are exposed to advertising of one good one, why don't you pay 1/15 of the price? This is more stealing than "pirating" because you are actually mislead to buy something that you would normally not buy because it sucks. I have had similar discussions but how can you explain my mother who works for 150$ a month (and she needs to eat pay bills, etc with these) that she has to pay MS 500$ for their software that is what? Pixels? Bytes? What? Anyway. In my opinion it comes down to greed cause no one is stealing anything. Just some people are not willing to share although they are not losing anything. And to lose something you must own it. So you can't lose a million dollars of sales because you haven't sold anything in the first place. If authors were more conscious (less greedy) they would share because if the users were more conscious (less living in a society where everyone wants to *make you* pay for something) they would show gratitude by paying. Regards, bobef
Can't stand away of the topic. My company was making PSP game and it leaks to the pirate bay two weeks before official release. Isn't it a stealing? Did my company give someone a permission to redistribute its software? Yes, you can't buy the game officially for a time being, but so can't others. Is it an excuse for you? There is an agreement between us and a publisher, they have a schedule and can't put a game in a wrong timeline. It's a bussiness, some marketing needs to be done, hard copies be made and transfered all over the world etc. A game was something we were working on for more that half a year, lots of effort were put in it. Do we deserve a payment and respect? In fact, a game was downloaded about 500.000 times before it got to the shelves. And about a 100.000 copies were sold _in total_. We got no profit just because everything out there are so poor and can't afford a licensed copy. What the hell you were thinking about before buying a handheld? An answer is - you are just too greedy and don't respect others efforts. Shame on you. As a result we don't make PSP games anymore and you don't get any games from us. And from lots of other developers, too. You harm not only yourself, but many of the other fair people who _do_ pay for their entertainment. My old good PSOne has the following text upon loading many of the games - I remember it word-by-word: "Piracy harms consumers as well as legitimate developers, publishers and retailers." So true.
Aug 15 2008
parent reply downs <default_357-line yahoo.de> writes:
Koroskin Denis wrote:
 On Fri, 15 Aug 2008 10:14:32 +0400, bobef <bobef nosmap-abv.bg> wrote:
 
 Robert Fraser Wrote:
 Yigal Chripun Wrote:

 Robert Fraser wrote:
  > I've had very mixed feelings about all this. One one hand, the
letter
 of the
 law may be questionably constitutional. But millions of dollars
every day are
 lost because people (including myself occasionally...) steal
copyrighted
 material. Honestly, I think there should be much stricter
penalties for
 things like internet piracy, because it's simply so widespread
and damaging.
 Of course you have the right to have your own opinion (that's also in
 the constitution) but all of the above is bullshit. (sorry for the
 language).

 stealing only applies to physical things like chairs and cars. that
 whole metaphor of information as physical entities is wrong.
 you sure can infringe someone's copyrights but you cannot steal
anything
 since there's nothing to steal.
Some philosopher said that all philosophical debates were inherently linguistic ones that stemmed from not having the words to represent the concepts being spoken about. We're using different definitions of "steal," but the concept is clear -- it's taking something you don't have the right to have taken without paying for, and the debate is over whether you do or should have that right.
This discussion is, of course, pointless but since I read it I may also comment :) I wan to support Yigal Chripun. So you say stealing is "taking something". But information (and software) is not something. It is not something you can take. I "pirate" something and I have my copy and you have yours. Nothing have been taken all are happy. This is actually a good thing. Too bad food doesn't work this way. The problem is greed. It has nothing to do with stealing.
 I think what a lot of these arguments boil down to is people trying to
 justify taking stuff without paying for it. Plain and simple. I do on
 occasion
 download videos (these days only anime fansubs).  And I don't feel bad
 about it. But I do know it's stealing. Downloading a $10 CD is really
 no better than shoplifting a $10 CD, because the people who worked to
 bring that CD into existence are not being paid for it.
It is not the same as shoplifting as you are not depriving anyone from anything. So you are not stealing anything. It is moral (and that is relative) to pay for the author's work, but only if you like it. When you buy a CD with 14 shitty songs because you are exposed to advertising of one good one, why don't you pay 1/15 of the price? This is more stealing than "pirating" because you are actually mislead to buy something that you would normally not buy because it sucks. I have had similar discussions but how can you explain my mother who works for 150$ a month (and she needs to eat pay bills, etc with these) that she has to pay MS 500$ for their software that is what? Pixels? Bytes? What? Anyway. In my opinion it comes down to greed cause no one is stealing anything. Just some people are not willing to share although they are not losing anything. And to lose something you must own it. So you can't lose a million dollars of sales because you haven't sold anything in the first place. If authors were more conscious (less greedy) they would share because if the users were more conscious (less living in a society where everyone wants to *make you* pay for something) they would show gratitude by paying. Regards, bobef
Can't stand away of the topic. My company was making PSP game and it leaks to the pirate bay two weeks before official release. Isn't it a stealing?
Nope.
 Did my company give
 someone a permission to redistribute its software?
Nope, but I don't see how that changes the terminology.
 Yes, you can't buy
 the game officially for a time being, but so can't others. Is it an
 excuse for you? There is an agreement between us and a publisher, they
 have a schedule and can't put a game in a wrong timeline. It's a
 bussiness, some marketing needs to be done, hard copies be made and
 transfered all over the world etc.
 
 A game was something we were working on for more that half a year, lots
 of effort were put in it. Do we deserve a payment and respect?
 
Nope. That's the free market - you "deserve" nothing implicitly.
 In fact, a game was downloaded about 500.000 times before it got to the
 shelves. And about a 100.000 copies were sold _in total_. We got no
 profit just because everything out there are so poor and can't afford a
 licensed copy. What the hell you were thinking about before buying a
 handheld? An answer is - you are just too greedy and don't respect
 others efforts. Shame on you.
How did this become about us?
 
 As a result we don't make PSP games anymore and you don't get any games
 from us. And from lots of other developers, too. You harm not only
 yourself, but many of the other fair people who _do_ pay for their
 entertainment.
Again, when did this become personal?
 
 My old good PSOne has the following text upon loading many of the games
 - I remember it word-by-word:
 "Piracy harms consumers as well as legitimate developers, publishers and
 retailers." So true.
Note that they used the word "Piracy". Not "Stealing". I wish you'd remember that more.
Aug 15 2008
parent reply Mike Parker <aldacron gmail.com> writes:
downs wrote:

 
 Note that they used the word "Piracy". Not "Stealing".
 
 I wish you'd remember that more.
Yeah, because capturing vessels on the high seas has a lot more in common with illegally obtaining copyable goods than "stealing" does.
Aug 16 2008
next sibling parent downs <default_357-line yahoo.de> writes:
Mike Parker wrote:
 downs wrote:
 
 Note that they used the word "Piracy". Not "Stealing".

 I wish you'd remember that more.
Yeah, because capturing vessels on the high seas has a lot more in common with illegally obtaining copyable goods than "stealing" does.
Verily, I have gotten 'burned'.
Aug 16 2008
prev sibling parent reply Yigal Chripun <yigal100 gmail.com> writes:
Mike Parker wrote:
 downs wrote:
 
 Note that they used the word "Piracy". Not "Stealing".

 I wish you'd remember that more.
Yeah, because capturing vessels on the high seas has a lot more in common with illegally obtaining copyable goods than "stealing" does.
Why can't we fu*king call the dog by his name? when a person infringes someone else' copyrights he's not pirating (as you said it, pirating is "capturing vessels on the high seas") and he's not stealing. that person _*infringes*_ someone else' copyrights. Why is that so difficult for people to use the correct word? infringe. here I just used it myself. If anyone has deep issues with that we can also use "violate". no need to invent new words for an already well defined concept just to satisfy someone's (MPAA, RIAA, etc) PR goals.
Aug 16 2008
next sibling parent reply downs <default_357-line yahoo.de> writes:
Yigal Chripun wrote:
 Mike Parker wrote:
 downs wrote:

 Note that they used the word "Piracy". Not "Stealing".

 I wish you'd remember that more.
Yeah, because capturing vessels on the high seas has a lot more in common with illegally obtaining copyable goods than "stealing" does.
Why can't we fu*king call the dog by his name? when a person infringes someone else' copyrights he's not pirating (as you said it, pirating is "capturing vessels on the high seas") and he's not stealing. that person _*infringes*_ someone else' copyrights. Why is that so difficult for people to use the correct word? infringe. here I just used it myself. If anyone has deep issues with that we can also use "violate". no need to invent new words for an already well defined concept just to satisfy someone's (MPAA, RIAA, etc) PR goals.
"Infringing a copyright": 7 syllables. "Pirating": 3 syllables. "Stealing": 2 syllables. Sad but true.
Aug 16 2008
next sibling parent Yigal Chripun <yigal100 gmail.com> writes:
downs wrote:
 Yigal Chripun wrote:
 Mike Parker wrote:
 downs wrote:

 Note that they used the word "Piracy". Not "Stealing".

 I wish you'd remember that more.
Yeah, because capturing vessels on the high seas has a lot more in common with illegally obtaining copyable goods than "stealing" does.
Why can't we fu*king call the dog by his name? when a person infringes someone else' copyrights he's not pirating (as you said it, pirating is "capturing vessels on the high seas") and he's not stealing. that person _*infringes*_ someone else' copyrights. Why is that so difficult for people to use the correct word? infringe. here I just used it myself. If anyone has deep issues with that we can also use "violate". no need to invent new words for an already well defined concept just to satisfy someone's (MPAA, RIAA, etc) PR goals.
"Infringing a copyright": 7 syllables. "Pirating": 3 syllables. "Stealing": 2 syllables. Sad but true.
remember the old rule - each line of code is read 100 times more than it's written? IMHO this should also apply to NG posts.
Aug 16 2008
prev sibling parent reply superdan <super dan.org> writes:
downs Wrote:

 Yigal Chripun wrote:
 Mike Parker wrote:
 downs wrote:

 Note that they used the word "Piracy". Not "Stealing".

 I wish you'd remember that more.
Yeah, because capturing vessels on the high seas has a lot more in common with illegally obtaining copyable goods than "stealing" does.
Why can't we fu*king call the dog by his name? when a person infringes someone else' copyrights he's not pirating (as you said it, pirating is "capturing vessels on the high seas") and he's not stealing. that person _*infringes*_ someone else' copyrights. Why is that so difficult for people to use the correct word? infringe. here I just used it myself. If anyone has deep issues with that we can also use "violate". no need to invent new words for an already well defined concept just to satisfy someone's (MPAA, RIAA, etc) PR goals.
"Infringing a copyright": 7 syllables. "Pirating": 3 syllables. "Stealing": 2 syllables. Sad but true.
"what the intercourse are you talking about": 9 syllables. depressing.
Aug 16 2008
parent reply downs <default_357-line yahoo.de> writes:
superdan wrote:
 downs Wrote:
 
 Yigal Chripun wrote:
 Mike Parker wrote:
 downs wrote:

 Note that they used the word "Piracy". Not "Stealing".

 I wish you'd remember that more.
Yeah, because capturing vessels on the high seas has a lot more in common with illegally obtaining copyable goods than "stealing" does.
Why can't we fu*king call the dog by his name? when a person infringes someone else' copyrights he's not pirating (as you said it, pirating is "capturing vessels on the high seas") and he's not stealing. that person _*infringes*_ someone else' copyrights. Why is that so difficult for people to use the correct word? infringe. here I just used it myself. If anyone has deep issues with that we can also use "violate". no need to invent new words for an already well defined concept just to satisfy someone's (MPAA, RIAA, etc) PR goals.
"Infringing a copyright": 7 syllables. "Pirating": 3 syllables. "Stealing": 2 syllables. Sad but true.
"what the intercourse are you talking about": 9 syllables. depressing.
"Pirating" is shorter :) And just to be the grammar nazi for a sec, it's 11.
Aug 16 2008
parent reply superdan <super dan.org> writes:
downs Wrote:

 superdan wrote:
 downs Wrote:
 
 Yigal Chripun wrote:
 Mike Parker wrote:
 downs wrote:

 Note that they used the word "Piracy". Not "Stealing".

 I wish you'd remember that more.
Yeah, because capturing vessels on the high seas has a lot more in common with illegally obtaining copyable goods than "stealing" does.
Why can't we fu*king call the dog by his name? when a person infringes someone else' copyrights he's not pirating (as you said it, pirating is "capturing vessels on the high seas") and he's not stealing. that person _*infringes*_ someone else' copyrights. Why is that so difficult for people to use the correct word? infringe. here I just used it myself. If anyone has deep issues with that we can also use "violate". no need to invent new words for an already well defined concept just to satisfy someone's (MPAA, RIAA, etc) PR goals.
"Infringing a copyright": 7 syllables. "Pirating": 3 syllables. "Stealing": 2 syllables. Sad but true.
"what the intercourse are you talking about": 9 syllables. depressing.
"Pirating" is shorter :)
ok eh.
 And just to be the grammar nazi for a sec, it's 11.
ooooooooooooooooooooooooohhhhhhhhhhhhhhhhhhhhh ................... sorry my level of humor rose so fast above yours i got vertigo there for a bit. hint: it's 9 syllables if you read it the right way.
Aug 16 2008
parent downs <default_357-line yahoo.de> writes:
superdan wrote:
 downs Wrote:
 
 superdan wrote:
 downs Wrote:

 Yigal Chripun wrote:
 Mike Parker wrote:
 downs wrote:

 Note that they used the word "Piracy". Not "Stealing".

 I wish you'd remember that more.
Yeah, because capturing vessels on the high seas has a lot more in common with illegally obtaining copyable goods than "stealing" does.
Why can't we fu*king call the dog by his name? when a person infringes someone else' copyrights he's not pirating (as you said it, pirating is "capturing vessels on the high seas") and he's not stealing. that person _*infringes*_ someone else' copyrights. Why is that so difficult for people to use the correct word? infringe. here I just used it myself. If anyone has deep issues with that we can also use "violate". no need to invent new words for an already well defined concept just to satisfy someone's (MPAA, RIAA, etc) PR goals.
"Infringing a copyright": 7 syllables. "Pirating": 3 syllables. "Stealing": 2 syllables. Sad but true.
"what the intercourse are you talking about": 9 syllables. depressing.
"Pirating" is shorter :)
ok eh.
 And just to be the grammar nazi for a sec, it's 11.
ooooooooooooooooooooooooohhhhhhhhhhhhhhhhhhhhh ................... sorry my level of humor rose so fast above yours i got vertigo there for a bit.
Hehe.
 hint: it's 9 syllables if you read it the right way.
This isn't really my day.
Aug 16 2008
prev sibling parent superdan <super dan.org> writes:
Yigal Chripun Wrote:

 Mike Parker wrote:
 downs wrote:
 
 Note that they used the word "Piracy". Not "Stealing".

 I wish you'd remember that more.
Yeah, because capturing vessels on the high seas has a lot more in common with illegally obtaining copyable goods than "stealing" does.
Why can't we fu*king call the dog by his name?
ain't it funny. ever since i stopped fuckshitting everyone and their dog started. funniest is jarrett. first he emails like an unsexed victorian damsel in distress "learn to type like a normal person or i'll have a syncope right here. oh! oh! my minerals quick!" next day he's cursing like a sailor in baltimore. not that there are any. guys the dirty talk is pathetic. you don't have the frame for it. if i can do it in style don't let that fool ya. ok?
Aug 16 2008
prev sibling next sibling parent reply Mike Parker <aldacron gmail.com> writes:
bobef wrote:
 Robert Fraser Wrote:
 Yigal Chripun Wrote:

 Robert Fraser wrote:
  > I've had very mixed feelings about all this. One one hand, the letter
 of the
 law may be questionably constitutional. But millions of dollars every day are
 lost because people (including myself occasionally...) steal copyrighted
 material. Honestly, I think there should be much stricter penalties for
 things like internet piracy, because it's simply so widespread and damaging.
Of course you have the right to have your own opinion (that's also in the constitution) but all of the above is bullshit. (sorry for the language). stealing only applies to physical things like chairs and cars. that whole metaphor of information as physical entities is wrong. you sure can infringe someone's copyrights but you cannot steal anything since there's nothing to steal.
Some philosopher said that all philosophical debates were inherently linguistic ones that stemmed from not having the words to represent the concepts being spoken about. We're using different definitions of "steal," but the concept is clear -- it's taking something you don't have the right to have taken without paying for, and the debate is over whether you do or should have that right.
This discussion is, of course, pointless but since I read it I may also comment :) I wan to support Yigal Chripun. So you say stealing is "taking something". But information (and software) is not something. It is not something you can take. I "pirate" something and I have my copy and you have yours. Nothing have been taken all are happy. This is actually a good thing. Too bad food doesn't work this way. The problem is greed. It has nothing to do with stealing.
Yeah, all are happy. I'm sure the developer is ecstatic that you have no respect for him or the effort he put into developing his software. He'll be extremely glad to know that one more person thinks he doesn't deserve the same right to make a living that producers of physical goods enjoy. He'll be jumping for joy when enough people out there like you dash his dreams of working as a full-time developer and he has to go out and find another job to put food on the table. Oh, happy days! Software *is* something. Just because it is infinitely copyable doesn't give you the right to copy it. No one has the right to take something someone else has created without the creator's permission. I'm sure we can agree that if you want a chair I've crafted and I want to charge you for it, then I am well within my right to do so. How is it that when my creation is infinitely copyable, I suddenly lose that right? I've heard this argument many, many, many times, but it still makes no sense to me. True, when you copy my infinitely copyable creation I'm not losing a physical object, but I *am* losing something -- compensation for the time and effort I put into it. It takes a heck of a lot longer to develop, test and debug a software application than it does to craft a chair. So why do you think developers shouldn't be afforded the same right as a craftsman? What gives you the right, in my stead, to decide if my product should be freely available? And don't come at me with that 'information should be free' crap. Software is not information. It's a product.
Aug 15 2008
parent reply downs <default_357-line yahoo.de> writes:
Mike Parker wrote:
 bobef wrote:
 Robert Fraser Wrote:
 Yigal Chripun Wrote:

 Robert Fraser wrote:
  > I've had very mixed feelings about all this. One one hand, the
 letter
 of the
 law may be questionably constitutional. But millions of dollars
 every day are
 lost because people (including myself occasionally...) steal
 copyrighted
 material. Honestly, I think there should be much stricter penalties
 for
 things like internet piracy, because it's simply so widespread and
 damaging.
Of course you have the right to have your own opinion (that's also in the constitution) but all of the above is bullshit. (sorry for the language). stealing only applies to physical things like chairs and cars. that whole metaphor of information as physical entities is wrong. you sure can infringe someone's copyrights but you cannot steal anything since there's nothing to steal.
Some philosopher said that all philosophical debates were inherently linguistic ones that stemmed from not having the words to represent the concepts being spoken about. We're using different definitions of "steal," but the concept is clear -- it's taking something you don't have the right to have taken without paying for, and the debate is over whether you do or should have that right.
This discussion is, of course, pointless but since I read it I may also comment :) I wan to support Yigal Chripun. So you say stealing is "taking something". But information (and software) is not something. It is not something you can take. I "pirate" something and I have my copy and you have yours. Nothing have been taken all are happy. This is actually a good thing. Too bad food doesn't work this way. The problem is greed. It has nothing to do with stealing.
Yeah, all are happy. I'm sure the developer is ecstatic that you have no respect for him or the effort he put into developing his software. He'll be extremely glad to know that one more person thinks he doesn't deserve the same right to make a living that producers of physical goods enjoy.
Bullshit. There is no such thing as "right to make a living".
 He'll be jumping for joy when enough people out there like you dash his
 dreams of working as a full-time developer and he has to go out and find
 another job to put food on the table. Oh, happy days!
There are two kind of arguments: logical arguments and emotional arguments. Guess which yours is.
 
 Software *is* something. Just because it is infinitely copyable doesn't
 give you the right to copy it. No one has the right to take something
 someone else has created without the creator's permission.
This is a common illusion. (I blame Disney). The right to exclusivity is granted to the creator, by the state, for a certain period of time. It does not exist "by default".
 I'm sure we
 can agree that if you want a chair I've crafted and I want to charge you
 for it, then I am well within my right to do so.
Could we PLEASE keep the comparisons to physical goods out of it? NOT. THE SAME. THING.
 How is it that when my
 creation is infinitely copyable, I suddenly lose that right?
Because you don't lose the original anymore. This has been said hundreds of times.
 I've heard
 this argument many, many, many times, but it still makes no sense to me.
 True, when you copy my infinitely copyable creation I'm not losing a
 physical object, but I *am* losing something -- compensation for the
 time and effort I put into it.
Which, by the way, is not a right. Are people normally bound to buy your physical goods?
 It takes a heck of a lot longer to
 develop, test and debug a software application than it does to craft a
 chair.
Maybe for cheap chairs.
 So why do you think developers shouldn't be afforded the same
 right as a craftsman? What gives you the right, in my stead, to decide
 if my product should be freely available?
 
See above.
 And don't come at me with that 'information should be free' crap.
 Software is not information. It's a product.
Software is purely information. "Software is a product" is a relatively novel idea that, I believe, was invented by our friends at MS (though I cannot point at a source for that claim).
Aug 15 2008
next sibling parent reply "Jarrett Billingsley" <kb3ctd2 yahoo.com> writes:
"downs" <default_357-line yahoo.de> wrote in message 
news:g84gml$1rb1$1 digitalmars.com...

 Software is purely information. "Software is a product" is a relatively 
 novel idea that, I believe, was invented by our friends at MS (though I 
 cannot point at a source for that claim).
Oh don't give me that bullshit. If anything, another company came up with the idea and MS bought them out ;)
Aug 15 2008
parent reply Mike Parker <aldacron gmail.com> writes:
Jarrett Billingsley wrote:
 "downs" <default_357-line yahoo.de> wrote in message 
 news:g84gml$1rb1$1 digitalmars.com...
 
 Software is purely information. "Software is a product" is a relatively 
 novel idea that, I believe, was invented by our friends at MS (though I 
 cannot point at a source for that claim).
Oh don't give me that bullshit. If anything, another company came up with the idea and MS bought them out ;)
Oh, come on! "software is a product" makes sense -- as in "you buy it and you can do what you want with it (your copy of it, that is)". I believe what MS gave us was "software is licensed, and you can only do with it what we say you can no matter how much you paid for it". Which is more absurd then saying software developers have no right to sell their software!
Aug 16 2008
parent "Jarrett Billingsley" <kb3ctd2 yahoo.com> writes:
"Mike Parker" <aldacron gmail.com> wrote in message 
news:g86q1l$2qrv$2 digitalmars.com...
 Jarrett Billingsley wrote:
 "downs" <default_357-line yahoo.de> wrote in message 
 news:g84gml$1rb1$1 digitalmars.com...

 Software is purely information. "Software is a product" is a relatively 
 novel idea that, I believe, was invented by our friends at MS (though I 
 cannot point at a source for that claim).
Oh don't give me that bullshit. If anything, another company came up with the idea and MS bought them out ;)
Oh, come on! "software is a product" makes sense -- as in "you buy it and you can do what you want with it (your copy of it, that is)". I believe what MS gave us was "software is licensed, and you can only do with it what we say you can no matter how much you paid for it". Which is more absurd then saying software developers have no right to sell their software!
Oh I agree that MS didn't "come up" with the idea that software is a product. I don't think it ever was a novel concept. I was just making a snarky remark about MS's typical business practices. Now whether MS came up with the idea of restrictive software licenses -- now that really _does_ smell of bullshit and anti-MS-fanboyism. MS is not the only eeeevil monopolistic company out there :P
Aug 16 2008
prev sibling next sibling parent "Jb" <jb nowhere.com> writes:
"downs" <default_357-line yahoo.de> wrote in message 
news:g84gml$1rb1$1 digitalmars.com...
 It takes a heck of a lot longer to
 develop, test and debug a software application than it does to craft a
 chair.
Maybe for cheap chairs.
You must have so ******* fancy chairs in your house, sorry.. erm.. palace. ;-)
Aug 15 2008
prev sibling next sibling parent reply =?iso-8859-1?Q?Julio=20C=e9sar=20Carrascal=20Urquijo?= <jcarrascal gmail.com> writes:
Hello downs,

 Software is purely information. "Software is a product" is a
 relatively novel idea that, I believe, was invented by our friends at
 MS (though I cannot point at a source for that claim).
Maybe this one: http://www.blinkenlights.com/classiccmp/gateswhine.html
Aug 15 2008
next sibling parent downs <default_357-line yahoo.de> writes:
Julio Csar Carrascal Urquijo wrote:
 Hello downs,
 
 Software is purely information. "Software is a product" is a
 relatively novel idea that, I believe, was invented by our friends at
 MS (though I cannot point at a source for that claim).
Maybe this one: http://www.blinkenlights.com/classiccmp/gateswhine.html
Ah. Looks like they started the "stealing" thing too. TYVM, MS.
Aug 16 2008
prev sibling parent "Bruce Adams" <tortoise_74 yeah.who.co.uk> writes:
On Fri, 15 Aug 2008 21:10:21 +0100, Julio Csar Carrascal Urquijo  
<jcarrascal gmail.com> wrote:

 Hello downs,

 Software is purely information. "Software is a product" is a
 relatively novel idea that, I believe, was invented by our friends at
 MS (though I cannot point at a source for that claim).
Maybe this one: http://www.blinkenlights.com/classiccmp/gateswhine.html
Whatever happened to that hard-working underpaid idealist? :p Was that the trigger that turned him into Monty Burns?
Aug 18 2008
prev sibling next sibling parent reply downs <default_357-line yahoo.de> writes:
downs wrote:
 Mike Parker wrote:
 I'm sure we
 can agree that if you want a chair I've crafted and I want to charge you
 for it, then I am well within my right to do so.
Could we PLEASE keep the comparisons to physical goods out of it? NOT. THE SAME. THING.
 How is it that when my
 creation is infinitely copyable, I suddenly lose that right?
Because you don't lose the original anymore. This has been said hundreds of times.
To clarify this point: you still have a *temporary* right to control the duplication of your infinitely copyable creation. But it is *not the same right* as the one that allows you to charge for the chair.
Aug 16 2008
parent reply Mike Parker <aldacron gmail.com> writes:
downs wrote:
 downs wrote:
 Mike Parker wrote:
 I'm sure we
 can agree that if you want a chair I've crafted and I want to charge you
 for it, then I am well within my right to do so.
Could we PLEASE keep the comparisons to physical goods out of it? NOT. THE SAME. THING.
IT. IS. THE SAME. THING.
 How is it that when my
 creation is infinitely copyable, I suddenly lose that right?
Because you don't lose the original anymore. This has been said hundreds of times.
To clarify this point: you still have a *temporary* right to control the duplication of your infinitely copyable creation. But it is *not the same right* as the one that allows you to charge for the chair.
But it *is* the same right. I really didn't expect anyone to give me anything new on this. It's always the same arguments back and forth. This is one of those issues that people rarely change their minds about.
Aug 16 2008
parent reply downs <default_357-line yahoo.de> writes:
Mike Parker wrote:
 downs wrote:
 downs wrote:
 Mike Parker wrote:
 I'm sure we
 can agree that if you want a chair I've crafted and I want to charge
 you
 for it, then I am well within my right to do so.
Could we PLEASE keep the comparisons to physical goods out of it? NOT. THE SAME. THING.
IT. IS. THE SAME. THING.
 How is it that when my
 creation is infinitely copyable, I suddenly lose that right?
Because you don't lose the original anymore. This has been said hundreds of times.
To clarify this point: you still have a *temporary* right to control the duplication of your infinitely copyable creation. But it is *not the same right* as the one that allows you to charge for the chair.
But it *is* the same right. I really didn't expect anyone to give me anything new on this. It's always the same arguments back and forth. This is one of those issues that people rarely change their minds about.
So .. you are saying property right is the same thing as copyright?
Aug 16 2008
parent reply Mike Parker <aldacron gmail.com> writes:
downs wrote:
 Mike Parker wrote:
 downs wrote:
 downs wrote:
 Mike Parker wrote:
 I'm sure we
 can agree that if you want a chair I've crafted and I want to charge
 you
 for it, then I am well within my right to do so.
Could we PLEASE keep the comparisons to physical goods out of it? NOT. THE SAME. THING.
IT. IS. THE SAME. THING.
 How is it that when my
 creation is infinitely copyable, I suddenly lose that right?
Because you don't lose the original anymore. This has been said hundreds of times.
To clarify this point: you still have a *temporary* right to control the duplication of your infinitely copyable creation. But it is *not the same right* as the one that allows you to charge for the chair.
But it *is* the same right. I really didn't expect anyone to give me anything new on this. It's always the same arguments back and forth. This is one of those issues that people rarely change their minds about.
So .. you are saying property right is the same thing as copyright?
No, I'm not. My assertion is that the creator of a thing has a right to determine if and how that thing will be distributed to others. The rest of the world doesn't suddenly get to decide that they can distribute the thing freely just because they can. If I create a PC game, I dictate if it's freeware or commercial -- not the users. Copyright and property rights are different, but I do believe they can, and should, work in tandem. I don't agree with the current state of copyright law, but let me tell you how I think things /should/ be. I think the idea of "licensing" music, movies, software, and whatnot is absurd. What we need is a law that explicitly defines a purchase of an infinitely copyable product as the purchase of "one unit" of that product. That particular unit is now your property. You can copy it to your heart's content, to CD or DVD, to multiple devices, or anywhere you want to use it. That's the right of property that protects the consumer's investment. Copyright law comes into play be preventing you from distributing copies of your unit without the copyright owner's permission. No matter how many copies you make for your own personal use, only the owner of the copyright (most often the creator) gets to dictate the terms of distribution. You cannot sell your copies, nor can you give them away to your friends. For the duration of the copyright, the owner of the copyright has every right to profit from his creation without fear of competing with his own product. This right protects the investment of the creator. Of course, people like to argue that they can do what they like with their property. If they want to sell it, they should be able to. I agree. If you want to give up your right to the unit you purchased and sell it to someone else, please do. But then you should be required to delete every copy you possess. From that point on, you no longer have any right to the unit. This is the same as selling your TV to someone else. Once the copyright expires, then people can do what they want with it. This holds to the original spirit and intent of copyright law -- allowing the creator to profit from his work while guaranteeing that it will eventually be freely available for all. The gives incentive for people to work at creating things full time. Again, that's how I think things /should/ be. I do understand that reality is quite a bit different. Copyright law has been hijacked by corporate lobbyists to the extent that it no longer serves the purpose it was meant to. The concepts of IP and licensing have gotten so out of control (DRM) that they turn people away from what is fair and appropriate, instead contributing to a culture of "I can take what I want and you greedy corporate asses can stuff it". So we have an environment where producers and consumers are focused on "protecting" their own rights, but few are working to protect both. In the end, it's more than the greedy corporate asses who get hurt by it all. At the end of the day, everyone has to make a living. Contrary to some assertions, I don't see that as an emotional argument. There's nothing illogical about the need to put food on the table. No one disputes the right of a carpenter to be paid for his work, nor for a doctor to be paid for his (though some would dispute the amount). Why, then, is it so difficult to accept that a software developer should be compensated for his work as well? Or a musician? Some people argue that business models should change. They already are (apologies in advance for this being game-centric). Today, some PC game developers are no longer developing games for the PC. They view the consoles as safer territory. They are for now. You see a decline in the production of single player games. You see more and more games requiring online activation, or requiring you to be online to play. These are all models geared toward minimizing the damage a company suffers from piracy. As such, they limit the options of the end user. My problem with piracy is not just a moral one, it's also a practical one. No one can say for sure where this will all lead. We could very well find ourselves in the Utopian paradise so many pirates spout off about to justify their actions, a world where people can get music, movies, books, and software freely while the creators can live off of the donations they receive from hordes of satisfied users (you'll excuse me if I hold some doubt that we'll see that result). But we could also find ourselves in a world where the independent creators, the garage bands and bedroom software developers, have gone the way of the dodo because they can't make enough to earn a living full time. A world where consumer rights are restricted and we have fewer options available to us in how we access and use creative works.
Aug 16 2008
parent reply Yigal Chripun <yigal100 gmail.com> writes:
Mike Parker wrote:
 
 No, I'm not. My assertion is that the creator of a thing has a right to
 determine if and how that thing will be distributed to others. The rest
 of the world doesn't suddenly get to decide that they can distribute the
 thing freely just because they can. If I create a PC game, I dictate if
 it's freeware or commercial -- not the users.
your train of thought here is going backwards. No one "suddenly" decided to take away the right to control distribution from the creator. That right never existed in the first place.
 
 Copyright and property rights are different, but I do believe they can,
 and should, work in tandem. I don't agree with the current state of
 copyright law, but let me tell you how I think things /should/ be.
 
 I think the idea of "licensing" music, movies, software, and whatnot is
 absurd. What we need is a law that explicitly defines a purchase of an
 infinitely copyable product as the purchase of "one unit" of that
 product. That particular unit is now your property. You can copy it to
 your heart's content, to CD or DVD, to multiple devices, or anywhere you
 want to use it. That's the right of property that protects the
 consumer's investment.
I agree with you that "licensing" music, movies, software, and whatnot is absurd. your idea of defining a "unit" is not implementable.
 
 Copyright law comes into play be preventing you from distributing copies
 of your unit without the copyright owner's permission. No matter how
 many copies you make for your own personal use, only the owner of the
 copyright (most often the creator) gets to dictate the terms of
 distribution. You cannot sell your copies, nor can you give them away to
 your friends. For the duration of the copyright, the owner of the
 copyright has every right to profit from his creation without fear of
 competing with his own product. This right protects the investment of
 the creator.
 
 Of course, people like to argue that they can do what they like with
 their property. If they want to sell it, they should be able to. I
 agree. If you want to give up your right to the unit you purchased and
 sell it to someone else, please do. But then you should be required to
 delete every copy you possess. From that point on, you no longer have
 any right to the unit. This is the same as selling your TV to someone else.
 
 Once the copyright expires, then people can do what they want with it.
 This holds to the original spirit and intent of copyright law --
 allowing the creator to profit from his work while guaranteeing that it
 will eventually be freely available for all. The gives incentive for
 people to work at creating things full time.
 
 Again, that's how I think things /should/ be. I do understand that
 reality is quite a bit different. Copyright law has been hijacked by
 corporate lobbyists to the extent that it no longer serves the purpose
 it was meant to. The concepts of IP and licensing have gotten so out of
 control (DRM) that they turn people away from what is fair and
 appropriate, instead contributing to a culture of "I can take what I
 want and you greedy corporate asses can stuff it". So we have an
 environment where producers and consumers are focused on "protecting"
 their own rights, but few are working to protect both. In the end, it's
 more than the greedy corporate asses who get hurt by it all.
 
 At the end of the day, everyone has to make a living. Contrary to some
 assertions, I don't see that as an emotional argument. There's nothing
 illogical about the need to put food on the table. No one disputes the
 right of a carpenter to be paid for his work, nor for a doctor to be
 paid for his (though some would dispute the amount). Why, then, is it so
 difficult to accept that a software developer should be compensated for
 his work as well? Or a musician?
no one disputes that the artist/software developer should be able to earn a living.
 
 Some people argue that business models should change. They already are
 (apologies in advance for this being game-centric). Today, some PC game
 developers are no longer developing games for the PC. They view the
 consoles as safer territory. They are for now. You see a decline in the
 production of single player games. You see more and more games requiring
 online activation, or requiring you to be online to play. These are all
 models geared toward minimizing the damage a company suffers from
 piracy. As such, they limit the options of the end user.
 
 My problem with piracy is not just a moral one, it's also a practical
 one. No one can say for sure where this will all lead. We could very
 well find ourselves in the Utopian paradise so many pirates spout off
 about to justify their actions, a world where people can get music,
 movies, books, and software freely while the creators can live off of
 the donations they receive from hordes of satisfied users (you'll excuse
 me if I hold some doubt that we'll see that result). But we could also
 find ourselves in a world where the independent creators, the garage
 bands and bedroom software developers, have gone the way of the dodo
 because they can't make enough to earn a living full time. A world where
 consumer rights are restricted and we have fewer options available to us
  in how we access and use creative works.
let us take the role of an aspiring new musician and compare: before the age of the internet: we need to convince some record company representative to listen to our demo and convince him that it's worthwhile to give us a contract (in which we give almost all our rights to the company). the company decides what music to push to the public based on little to none musical interests (for example if we play classical music, we would create less sales than Brittney spears and so her music would be preferred - it's much easier to create hype and therefore sales amongst teenagers who listen to pop rather than to convince adults to buy classical music CDs) Now let's consider the current "Internet" way: we can record music with home equipment and put it on our own site. we can shoot a home video and put it on youtube, etc.. all with little costs. we'll tell all our friends about our new site with our new cool music, those wo like it will tell their friends, etc.. soon (if our music is liked by people) we could go and perform in pubs and the like and people some people will come. after growing our fan base we can also sell merchandise on our site, and get more people to go to our concerts and pay for tickets.. what I'm trying to say here is that allowing free distribution of music online makes it easier for a young new artist (or software developer) to achieve his goals (becoming a known artist). I claim that we'll find our selves in a world where the independent creators, the garage bands and bedroom software developers, have _NOT_ gone the way of the dodo but rather flourish. Another example - current state of the legal system makes it harder for two teams of OSS to work together since they are afraid of legal consequences. (phobos and tango) in a more free legal system we wouldn't find ourselves waiting for more than a year since one author is afraid of taint and possibly getting sued in the future duo to it. the absurd is that both projects provide freely redistributable code and yet there are still fears of taint. If you ever watched "sliders" than you'd probably seen the episode where they slid to a world with 85% of the population having law degrees. in that world you had to provide a full health record and a signed and legally approved note that you wouldn't sue just to buy a hamburger.
Aug 17 2008
next sibling parent reply Mike Parker <aldacron gmail.com> writes:
Yigal Chripun wrote:
 Mike Parker wrote:
 No, I'm not. My assertion is that the creator of a thing has a right to
 determine if and how that thing will be distributed to others. The rest
 of the world doesn't suddenly get to decide that they can distribute the
 thing freely just because they can. If I create a PC game, I dictate if
 it's freeware or commercial -- not the users.
your train of thought here is going backwards. No one "suddenly" decided to take away the right to control distribution from the creator. That right never existed in the first place.
 Copyright and property rights are different, but I do believe they can,
 and should, work in tandem. I don't agree with the current state of
 copyright law, but let me tell you how I think things /should/ be.

 I think the idea of "licensing" music, movies, software, and whatnot is
 absurd. What we need is a law that explicitly defines a purchase of an
 infinitely copyable product as the purchase of "one unit" of that
 product. That particular unit is now your property. You can copy it to
 your heart's content, to CD or DVD, to multiple devices, or anywhere you
 want to use it. That's the right of property that protects the
 consumer's investment.
I agree with you that "licensing" music, movies, software, and whatnot is absurd. your idea of defining a "unit" is not implementable.
Why not?
 
 Copyright law comes into play be preventing you from distributing copies
 of your unit without the copyright owner's permission. No matter how
 many copies you make for your own personal use, only the owner of the
 copyright (most often the creator) gets to dictate the terms of
 distribution. You cannot sell your copies, nor can you give them away to
 your friends. For the duration of the copyright, the owner of the
 copyright has every right to profit from his creation without fear of
 competing with his own product. This right protects the investment of
 the creator.

 Of course, people like to argue that they can do what they like with
 their property. If they want to sell it, they should be able to. I
 agree. If you want to give up your right to the unit you purchased and
 sell it to someone else, please do. But then you should be required to
 delete every copy you possess. From that point on, you no longer have
 any right to the unit. This is the same as selling your TV to someone else.

 Once the copyright expires, then people can do what they want with it.
 This holds to the original spirit and intent of copyright law --
 allowing the creator to profit from his work while guaranteeing that it
 will eventually be freely available for all. The gives incentive for
 people to work at creating things full time.

 Again, that's how I think things /should/ be. I do understand that
 reality is quite a bit different. Copyright law has been hijacked by
 corporate lobbyists to the extent that it no longer serves the purpose
 it was meant to. The concepts of IP and licensing have gotten so out of
 control (DRM) that they turn people away from what is fair and
 appropriate, instead contributing to a culture of "I can take what I
 want and you greedy corporate asses can stuff it". So we have an
 environment where producers and consumers are focused on "protecting"
 their own rights, but few are working to protect both. In the end, it's
 more than the greedy corporate asses who get hurt by it all.

 At the end of the day, everyone has to make a living. Contrary to some
 assertions, I don't see that as an emotional argument. There's nothing
 illogical about the need to put food on the table. No one disputes the
 right of a carpenter to be paid for his work, nor for a doctor to be
 paid for his (though some would dispute the amount). Why, then, is it so
 difficult to accept that a software developer should be compensated for
 his work as well? Or a musician?
no one disputes that the artist/software developer should be able to earn a living.
But you want to take the choice of how they do so out of their hands.
 Some people argue that business models should change. They already are
 (apologies in advance for this being game-centric). Today, some PC game
 developers are no longer developing games for the PC. They view the
 consoles as safer territory. They are for now. You see a decline in the
 production of single player games. You see more and more games requiring
 online activation, or requiring you to be online to play. These are all
 models geared toward minimizing the damage a company suffers from
 piracy. As such, they limit the options of the end user.

 My problem with piracy is not just a moral one, it's also a practical
 one. No one can say for sure where this will all lead. We could very
 well find ourselves in the Utopian paradise so many pirates spout off
 about to justify their actions, a world where people can get music,
 movies, books, and software freely while the creators can live off of
 the donations they receive from hordes of satisfied users (you'll excuse
 me if I hold some doubt that we'll see that result). But we could also
 find ourselves in a world where the independent creators, the garage
 bands and bedroom software developers, have gone the way of the dodo
 because they can't make enough to earn a living full time. A world where
 consumer rights are restricted and we have fewer options available to us
  in how we access and use creative works.
let us take the role of an aspiring new musician and compare: before the age of the internet: we need to convince some record company representative to listen to our demo and convince him that it's worthwhile to give us a contract (in which we give almost all our rights to the company). the company decides what music to push to the public based on little to none musical interests (for example if we play classical music, we would create less sales than Brittney spears and so her music would be preferred - it's much easier to create hype and therefore sales amongst teenagers who listen to pop rather than to convince adults to buy classical music CDs) Now let's consider the current "Internet" way: we can record music with home equipment and put it on our own site. we can shoot a home video and put it on youtube, etc.. all with little costs. we'll tell all our friends about our new site with our new cool music, those wo like it will tell their friends, etc.. soon (if our music is liked by people) we could go and perform in pubs and the like and people some people will come. after growing our fan base we can also sell merchandise on our site, and get more people to go to our concerts and pay for tickets..
 
 what I'm trying to say here is that allowing free distribution of music
 online makes it easier for a young new artist (or software developer) to
  achieve his goals (becoming a known artist). I claim that we'll find
 our selves in a world where the independent creators, the garage bands
 and bedroom software developers, have _NOT_ gone the way of the dodo but
 rather flourish.
I don't dispute any of that (well, except the last bit about the future of indies). The opportunities opened up by the internet are tremendous, and I've taken advantage of them myself to some extent. But you've missed the point entirely. I'm not saying we should disallow free distribution. That's rather silly. My argument is that *it's the creator's choice to sell his product or distribute it freely.* Just because you like free stuff doesn't mean I have to give my stuff away for free. Conversely, just because I like to sell my stuff doesn't mean you have to buy it. If we leave things at that, we're all happy campers. I'll sell my stuff to people who want to buy it and you can get your stuff from people who want to give it away for free. But when you start taking my stuff without paying for it, knowing that I'm selling it and don't want it given away freely, now you're stepping on my toes and infringing my rights. I can see you are passionate about this, but it reminds me very much of the debate over the GPL. This isn't a direct analogy, but the circumstances are similar. GPL supporters love to go on about how software should be free (as in 'libre'). Ultimately, they wind up reducing freedom by dictating that the source of any derived work be released under the same terms. True freedom would give developers more choice, like the BSD or MIT licenses do. In your arguments, you keep going on about how grand it would be for us to have free (as in 'gratis', which is a different beast than 'libre' for sure) access to all of this stuff, but you would implicitly restrict the freedom (as in 'libre') of the people who produce it by dictating how they should distribute it. Speaking of the GPL, how do you feel about taking GPLed code and using it in closed-source, proprietary software that is then distributed to your customers freely or commercially (that is, ignoring the terms of the GPL altogether)? Is that just as acceptable to you as pirating the end product?
Aug 17 2008
parent reply Yigal Chripun <yigal100 gmail.com> writes:
Mike Parker wrote:
 no one disputes that the artist/software developer should be able to
 earn a living.
But you want to take the choice of how they do so out of their hands.
Again, I do not take that choice. You claim that a software developer has the right to decide to treat his software as a product and sell "units" of it. I claim that such an option does not exist in the first place. software is information, either you share it or you keep it to yourself. beyond that there are copy-right laws that _give_ the author a limited time-span of exclusivity. the software developer doesn't have a right to exclusivity, he receives it from society for a limited time. that time span should represent a balance between the fact the published work is public domain and the need to make it worthwhile for an individual to publish his work. current us law is 70 years after the death of that individual is out of balance entirely. a more reasonable amount (for software) should be 10-15 years at most. maybe even less.
 what I'm trying to say here is that allowing free distribution of music
 online makes it easier for a young new artist (or software developer) to
  achieve his goals (becoming a known artist). I claim that we'll find
 our selves in a world where the independent creators, the garage bands
 and bedroom software developers, have _NOT_ gone the way of the dodo but
 rather flourish.
I don't dispute any of that (well, except the last bit about the future of indies). The opportunities opened up by the internet are tremendous, and I've taken advantage of them myself to some extent. But you've missed the point entirely. I'm not saying we should disallow free distribution. That's rather silly. My argument is that *it's the creator's choice to sell his product or distribute it freely.*
Again, this choice never existed but rather manufactured artificially by a few groups of interest.
 
 Just because you like free stuff doesn't mean I have to give my stuff
 away for free. Conversely, just because I like to sell my stuff doesn't
 mean you have to buy it. If we leave things at that, we're all happy
 campers. I'll sell my stuff to people who want to buy it and you can get
 your stuff from people who want to give it away for free. But when you
 start taking my stuff without paying for it, knowing that I'm selling it
 and don't want it given away freely, now you're stepping on my toes and
 infringing my rights.
You do not have to publish your work. you can keep it for yourself. either you give to society or you don't. that's your choice.
 
 I can see you are passionate about this, but it reminds me very much of
 the debate over the GPL. This isn't a direct analogy, but the
 circumstances are similar. GPL supporters love to go on about how
 software should be free (as in 'libre'). Ultimately, they wind up
 reducing freedom by dictating that the source of any derived work be
 released under the same terms. True freedom would give developers more
 choice, like the BSD or MIT licenses do. In your arguments, you keep
 going on about how grand it would be for us to have free (as in
 'gratis', which is a different beast than 'libre' for sure) access to
 all of this stuff, but you would implicitly restrict the freedom (as in
 'libre') of the people who produce it by dictating how they should
 distribute it.
I do not object to OSS that is sold for money (again with the Red hat example). there is no conflict here with this at all. another way to look at it is this: an MP3 file is just information and should be available online, at the same time there is nothing that prevents the musician to charge money for his performance. a singer "produces" music by singing (for example). he does not "produce" MP3 files. Why don't you pay for each song you here on the radio for example? when you go to a restaurant do you pay for the taste, the smell or the food itself?
 
 Speaking of the GPL, how do you feel about taking GPLed code and using
 it in closed-source, proprietary software that is then distributed to
 your customers freely or commercially (that is, ignoring the terms of
 the GPL altogether)? Is that just as acceptable to you as pirating the
 end product?
I feel that the GPL is a necessary evil. It's a hack on top of a broken system. Ideally, there should be no need for it at all. Currently the GPL is the exception to the rule. the default is Closed-source. I'd want it to be the default while closed source would be the exception. to answer your question: yes it's wrong to subvert the GPL. The parallel you're trying to draw here however is not acceptable to me. these are two separate issues.
Aug 17 2008
next sibling parent Lars Ivar Igesund <larsivar igesund.net> writes:
Yigal Chripun wrote:

 You do not have to publish your work. you can keep it for yourself.
 either you give to society or you don't. that's your choice.
See my other post, you are making an artificial distinction yourself between private and public information. If you think some information truly can/should be private, then you also need to accept that the author can keep it private given some condition (ie that you can get access by paying). -- Lars Ivar Igesund blog at http://larsivi.net DSource, #d.tango & #D: larsivi Dancing the Tango
Aug 17 2008
prev sibling next sibling parent Mike Parker <aldacron gmail.com> writes:
Yigal Chripun wrote:
 Mike Parker wrote:
 no one disputes that the artist/software developer should be able to
 earn a living.
But you want to take the choice of how they do so out of their hands.
Again, I do not take that choice. You claim that a software developer has the right to decide to treat his software as a product and sell "units" of it. I claim that such an option does not exist in the first place. software is information, either you share it or you keep it to yourself.
Someone else already pointed out to you in this thread your confusion over the difference between 'freely available' and 'free of charge'. When an entity, like a government, tells you what kind of information you can and cannot have access to, that information is no longer freely available. If I'm the only person in the world who knows something, I might just want to make a tidy profit off of telling it to someone else. Nothing whatsoever gives you the right (or, at least at present, the ability) to pick it from my brain -- it's available for a price. I might even choose to tell it freely, being the good citizen I am. But it's /my/ choice. Commercial software (which I still say isn't information) *is* freely available. If it weren't, you wouldn't be able to buy it because no one would be allowed to sell it.
 
 Just because you like free stuff doesn't mean I have to give my stuff
 away for free. Conversely, just because I like to sell my stuff doesn't
 mean you have to buy it. If we leave things at that, we're all happy
 campers. I'll sell my stuff to people who want to buy it and you can get
 your stuff from people who want to give it away for free. But when you
 start taking my stuff without paying for it, knowing that I'm selling it
 and don't want it given away freely, now you're stepping on my toes and
 infringing my rights.
You do not have to publish your work. you can keep it for yourself. either you give to society or you don't. that's your choice.
 I can see you are passionate about this, but it reminds me very much of
 the debate over the GPL. This isn't a direct analogy, but the
 circumstances are similar. GPL supporters love to go on about how
 software should be free (as in 'libre'). Ultimately, they wind up
 reducing freedom by dictating that the source of any derived work be
 released under the same terms. True freedom would give developers more
 choice, like the BSD or MIT licenses do. In your arguments, you keep
 going on about how grand it would be for us to have free (as in
 'gratis', which is a different beast than 'libre' for sure) access to
 all of this stuff, but you would implicitly restrict the freedom (as in
 'libre') of the people who produce it by dictating how they should
 distribute it.
I do not object to OSS that is sold for money (again with the Red hat example). there is no conflict here with this at all. another way to look at it is this: an MP3 file is just information and should be available online, at the same time there is nothing that prevents the musician to charge money for his performance. a singer "produces" music by singing (for example). he does not "produce" MP3 files. Why don't you pay for each song you here on the radio for example? when you go to a restaurant do you pay for the taste, the smell or the food itself?
 Speaking of the GPL, how do you feel about taking GPLed code and using
 it in closed-source, proprietary software that is then distributed to
 your customers freely or commercially (that is, ignoring the terms of
 the GPL altogether)? Is that just as acceptable to you as pirating the
 end product?
I feel that the GPL is a necessary evil. It's a hack on top of a broken system. Ideally, there should be no need for it at all. Currently the GPL is the exception to the rule. the default is Closed-source. I'd want it to be the default while closed source would be the exception. to answer your question: yes it's wrong to subvert the GPL. The parallel you're trying to draw here however is not acceptable to me. these are two separate issues.
They very much are the same thing. When you take GPLed source, compile it into an executable, and distribute it without adhering to the terms of the GPL you are violating the conditions set forth by the copyright holders. A recent court decision[1], applying specifically to the Artistic License (but which will likely apply to other OSS licenses), clearly defines violation of such a license as copyright infringement. Both scenarios involve distribution of copyrighted material in a manner not permitted by the copyright holders. I've always been perplexed by how some software developers can be so adamant at adhering to OSS licenses while being so cavalier about pirating software. It's such a counterintuitive thing. Once upon a time, I would have simply argued that your opposition to subverting the GPL while in support of subverting copyright law is illogical. Now I can add that it's contradicted by the courts. [1] http://lessig.org/blog/2008/08/huge_and_important_news_free_l.html
Aug 17 2008
prev sibling next sibling parent Jesse Phillips <jessekphillips gmail.com> writes:
On Sun, 17 Aug 2008 16:41:06 +0300, Yigal Chripun wrote:

 Mike Parker wrote:
 no one disputes that the artist/software developer should be able to
 earn a living.
But you want to take the choice of how they do so out of their hands.
Again, I do not take that choice. You claim that a software developer has the right to decide to treat his software as a product and sell "units" of it. I claim that such an option does not exist in the first place. software is information, either you share it or you keep it to yourself. beyond that there are copy-right laws that _give_ the author a limited time-span of exclusivity. the software developer doesn't have a right to exclusivity, he receives it from society for a limited time. that time span should represent a balance between the fact the published work is public domain and the need to make it worthwhile for an individual to publish his work. current us law is 70 years after the death of that individual is out of balance entirely. a more reasonable amount (for software) should be 10-15 years at most. maybe even less.
 what I'm trying to say here is that allowing free distribution of
 music online makes it easier for a young new artist (or software
 developer) to
  achieve his goals (becoming a known artist). I claim that we'll find
 our selves in a world where the independent creators, the garage bands
 and bedroom software developers, have _NOT_ gone the way of the dodo
 but rather flourish.
I don't dispute any of that (well, except the last bit about the future of indies). The opportunities opened up by the internet are tremendous, and I've taken advantage of them myself to some extent. But you've missed the point entirely. I'm not saying we should disallow free distribution. That's rather silly. My argument is that *it's the creator's choice to sell his product or distribute it freely.*
Again, this choice never existed but rather manufactured artificially by a few groups of interest.
 Just because you like free stuff doesn't mean I have to give my stuff
 away for free. Conversely, just because I like to sell my stuff doesn't
 mean you have to buy it. If we leave things at that, we're all happy
 campers. I'll sell my stuff to people who want to buy it and you can
 get your stuff from people who want to give it away for free. But when
 you start taking my stuff without paying for it, knowing that I'm
 selling it and don't want it given away freely, now you're stepping on
 my toes and infringing my rights.
You do not have to publish your work. you can keep it for yourself. either you give to society or you don't. that's your choice.
 
 I can see you are passionate about this, but it reminds me very much of
 the debate over the GPL. This isn't a direct analogy, but the
 circumstances are similar. GPL supporters love to go on about how
 software should be free (as in 'libre'). Ultimately, they wind up
 reducing freedom by dictating that the source of any derived work be
 released under the same terms. True freedom would give developers more
 choice, like the BSD or MIT licenses do. In your arguments, you keep
 going on about how grand it would be for us to have free (as in
 'gratis', which is a different beast than 'libre' for sure) access to
 all of this stuff, but you would implicitly restrict the freedom (as in
 'libre') of the people who produce it by dictating how they should
 distribute it.
I do not object to OSS that is sold for money (again with the Red hat example). there is no conflict here with this at all. another way to look at it is this: an MP3 file is just information and should be available online, at the same time there is nothing that prevents the musician to charge money for his performance. a singer "produces" music by singing (for example). he does not "produce" MP3 files. Why don't you pay for each song you here on the radio for example? when you go to a restaurant do you pay for the taste, the smell or the food itself?
 Speaking of the GPL, how do you feel about taking GPLed code and using
 it in closed-source, proprietary software that is then distributed to
 your customers freely or commercially (that is, ignoring the terms of
 the GPL altogether)? Is that just as acceptable to you as pirating the
 end product?
I feel that the GPL is a necessary evil. It's a hack on top of a broken system. Ideally, there should be no need for it at all. Currently the GPL is the exception to the rule. the default is Closed-source. I'd want it to be the default while closed source would be the exception. to answer your question: yes it's wrong to subvert the GPL. The parallel you're trying to draw here however is not acceptable to me. these are two separate issues.
At this point I merely wish for you to define what information is to you. Information can refer to a number of things, but only one of them will you get me close to agreeing should be free of charge once released to the public and that is, "Knowledge about a topic." and any combination of bits does not fall into this.
Aug 17 2008
prev sibling parent "Jb" <jb nowhere.com> writes:
"Yigal Chripun" <yigal100 gmail.com> wrote in message 
news:g899ph$1gks$1 digitalmars.com...
 Mike Parker wrote:
 no one disputes that the artist/software developer should be able to
 earn a living.
But you want to take the choice of how they do so out of their hands.
Again, I do not take that choice. You claim that a software developer has the right to decide to treat his software as a product and sell "units" of it. I claim that such an option does not exist in the first place. software is information, either you share it or you keep it to yourself. beyond that there are copy-right laws that _give_ the author a limited time-span of exclusivity. the software developer doesn't have a right to exclusivity, he receives it from society for a limited time. that time span should represent a balance between the fact the published work is public domain and the need to make it worthwhile for an individual to publish his work. current us law is 70 years after the death of that individual is out of balance entirely. a more reasonable amount (for software) should be 10-15 years at most. maybe even less.
Again you are making an utterly pointless distinction. When we talk about what rights the author has of course we are talking about what rights our societys have decided they have. We are not saying the rights are bestowed on us by god. Although FWIW i agree the length of copyright is far too long. I think perhaps 20 years would be long enough.
 I don't dispute any of that (well, except the last bit about the future
 of indies). The opportunities opened up by the internet are tremendous,
 and I've taken advantage of them myself to some extent. But you've
 missed the point entirely. I'm not saying we should disallow free
 distribution. That's rather silly. My argument is that *it's the
 creator's choice to sell his product or distribute it freely.*
Again, this choice never existed but rather manufactured artificially by a few groups of interest.
Again an utterly pointless thing to say. You may as well say that a few hundred years ago we didnt have the right to a fair trials so we should not have them now. It's utterly irelevant, we have that right today, so lets stick to talking about that. (at least we do in civilized countries).
 Why don't you pay for each song you here on the radio for example?
 when you go to a restaurant do you pay for the taste, the smell or the
 food itself?
We do pay for songs that are played on the radio. In America there's ASCAP, and likewise in other countries there are organizations that are licenced by the government / rights owners, to collect royalties from the radio stations. The radio stations typicaly pay these royalties by runing adverts.
 Speaking of the GPL, how do you feel about taking GPLed code and using
 it in closed-source, proprietary software that is then distributed to
 your customers freely or commercially (that is, ignoring the terms of
 the GPL altogether)? Is that just as acceptable to you as pirating the
 end product?
I feel that the GPL is a necessary evil. It's a hack on top of a broken system. Ideally, there should be no need for it at all. Currently the GPL is the exception to the rule. the default is Closed-source. I'd want it to be the default while closed source would be the exception. to answer your question: yes it's wrong to subvert the GPL. The parallel you're trying to draw here however is not acceptable to me. these are two separate issues.
So GPL coders have the right to control what is done with their work but book authors / musicians dont?
Aug 17 2008
prev sibling parent "Jb" <jb nowhere.com> writes:
"Yigal Chripun" <yigal100 gmail.com> wrote in message
news:g88lc3$hgc$1 digitalmars.com...
 Mike Parker wrote:
 No, I'm not. My assertion is that the creator of a thing has a right to
 determine if and how that thing will be distributed to others. The rest
 of the world doesn't suddenly get to decide that they can distribute the
 thing freely just because they can. If I create a PC game, I dictate if
 it's freeware or commercial -- not the users.
your train of thought here is going backwards. No one "suddenly" decided to take away the right to control distribution from the creator. That right never existed in the first place.
No rights exist a priori, and it adds nothing to this discusion to point that out. We can only talk about rights in the context of what society decides we have, or what we think those rights should be. So if society decided we have the right to control distribution of our work, then we do have those rights.
 At the end of the day, everyone has to make a living. Contrary to some
 assertions, I don't see that as an emotional argument. There's nothing
 illogical about the need to put food on the table. No one disputes the
 right of a carpenter to be paid for his work, nor for a doctor to be
 paid for his (though some would dispute the amount). Why, then, is it so
 difficult to accept that a software developer should be compensated for
 his work as well? Or a musician?
no one disputes that the artist/software developer should be able to earn a living.
But you do seem to want to dictate how they do so. And you seem to want to dictate that they make their living in a way that best benefits you.
 what I'm trying to say here is that allowing free distribution of music
 online makes it easier for a young new artist (or software developer) to
 achieve his goals (becoming a known artist). I claim that we'll find
 our selves in a world where the independent creators, the garage bands
 and bedroom software developers, have _NOT_ gone the way of the dodo but
 rather flourish.
You obviously dont know many people who do this or else you'd know that the vast majority of bands / artist online, still SELL their music. They dont give it away for free, yes sometimes they give some tracks for free, or have listen online thingmebobs, for promotional reasons, but they dont give all their music away for free. And in fact the real benefit of the internet for these people is free and cheap access to distribution / the public, not distribution of their work for free. Small software developers in the pro audio industry have flourished because of easy entry to the market. They havn't flourished by giving their software away for free and hoping somone will drop a few pennies in the honesty box.
 Another example - current state of the legal system makes it harder for
 two teams of OSS to work together since they are afraid of legal
 consequences. (phobos and tango)
 in a more free legal system we wouldn't find ourselves waiting for more
 than a year since one author is afraid of taint and possibly getting
 sued in the future duo to it. the absurd is that both projects provide
 freely redistributable code and yet there are still fears of taint.
In a more free legal system there might never have been a phobos, or a digital mars. If Walter and the company he worked for couldnt have protected their investment its likely none of us would be here chatting now. Capitalism, and property rights, are what has made western societys so prosperous, they encourage investment and enterprise. Just because such laws / rights sometimes have negative effects doesnt mean they are all bad, and should be scrapped.
 If you ever watched "sliders" than you'd probably seen the episode where
 they slid to a world with 85% of the population having law degrees. in
 that world you had to provide a full health record and a signed and
 legally approved note that you wouldn't sue just to buy a hamburger.
Have you heard of the USSR? Of China? Of North Korea? There's some real world examples, not sci fi jibberish, of why having weak property rights is bad for enterprise and economy. Just look at how China has flourished since it embraced capatalism.
Aug 17 2008
prev sibling parent reply Jesse Phillips <jessekphillips gmail.com> writes:
On Fri, 15 Aug 2008 20:12:23 +0200, downs wrote:

 Mike Parker wrote:
 bobef wrote:
 Robert Fraser Wrote:
 Yigal Chripun Wrote:

 Robert Fraser wrote:
  > I've had very mixed feelings about all this. One one hand, the
 letter
 of the
 law may be questionably constitutional. But millions of dollars
 every day are
 lost because people (including myself occasionally...) steal
 copyrighted
 material. Honestly, I think there should be much stricter penalties
 for
 things like internet piracy, because it's simply so widespread and
 damaging.
Of course you have the right to have your own opinion (that's also in the constitution) but all of the above is bullshit. (sorry for the language). stealing only applies to physical things like chairs and cars. that whole metaphor of information as physical entities is wrong. you sure can infringe someone's copyrights but you cannot steal anything since there's nothing to steal.
Some philosopher said that all philosophical debates were inherently linguistic ones that stemmed from not having the words to represent the concepts being spoken about. We're using different definitions of "steal," but the concept is clear -- it's taking something you don't have the right to have taken without paying for, and the debate is over whether you do or should have that right.
This discussion is, of course, pointless but since I read it I may also comment :) I wan to support Yigal Chripun. So you say stealing is "taking something". But information (and software) is not something. It is not something you can take. I "pirate" something and I have my copy and you have yours. Nothing have been taken all are happy. This is actually a good thing. Too bad food doesn't work this way. The problem is greed. It has nothing to do with stealing.
Yeah, all are happy. I'm sure the developer is ecstatic that you have no respect for him or the effort he put into developing his software. He'll be extremely glad to know that one more person thinks he doesn't deserve the same right to make a living that producers of physical goods enjoy.
Bullshit. There is no such thing as "right to make a living".
 He'll be jumping for joy when enough people out there like you dash his
 dreams of working as a full-time developer and he has to go out and
 find another job to put food on the table. Oh, happy days!
There are two kind of arguments: logical arguments and emotional arguments. Guess which yours is.
 Software *is* something. Just because it is infinitely copyable doesn't
 give you the right to copy it. No one has the right to take something
 someone else has created without the creator's permission.
This is a common illusion. (I blame Disney). The right to exclusivity is granted to the creator, by the state, for a certain period of time. It does not exist "by default".
 I'm sure we
 can agree that if you want a chair I've crafted and I want to charge
 you for it, then I am well within my right to do so.
Could we PLEASE keep the comparisons to physical goods out of it? NOT. THE SAME. THING.
 How is it that when my
 creation is infinitely copyable, I suddenly lose that right?
Because you don't lose the original anymore. This has been said hundreds of times.
 I've heard
 this argument many, many, many times, but it still makes no sense to
 me. True, when you copy my infinitely copyable creation I'm not losing
 a physical object, but I *am* losing something -- compensation for the
 time and effort I put into it.
Which, by the way, is not a right. Are people normally bound to buy your physical goods?
 It takes a heck of a lot longer to
 develop, test and debug a software application than it does to craft a
 chair.
Maybe for cheap chairs.
 So why do you think developers shouldn't be afforded the same right as
 a craftsman? What gives you the right, in my stead, to decide if my
 product should be freely available?
 
See above.
 And don't come at me with that 'information should be free' crap.
 Software is not information. It's a product.
Software is purely information. "Software is a product" is a relatively novel idea that, I believe, was invented by our friends at MS (though I cannot point at a source for that claim).
Ok, let us leave out the chairs and discuss books (books of fiction). (Little tangent: I will agree there is no, "right to make a living." Hell, I can go as far as to say that there is no right to life, liberty, or pursuit of happiness. But then I would have to continue and say that no one has the right to remove someones life, liberty, or happiness. So really where did we go with this?) Fiction books, I really would say that this is a collection of information (yes information is in it, but it is not solely information) and you probably disagree. Your claim is that if I can in some way (scanner/typing) get the information in this book onto in infinitely distributable medium I am allowed to distribute this as I see fit because I still have the original? And now back to chairs. Since you can't seem to state the difference from selling physical items and phantom "infinitely copyable items," think I shall make an attempt and include why the purchaser of said product does not buy a right at any point in time to copy and distribute. As said, physical items are lost when distributed to another. However, if you had some way in which that chair could be copied, production line, I would assume that you would claim that I could only charge for the material cost that goes into it then? I obviously couldn't charge for labor because that would be like a Programmer charging for his software since only labor went into it. But then why would the original creator have a right to set a price for his chair, and probably include the labor in that price, shouldn't it just be for the materials that he use? But then again, why did the materials cost money? Wouldn't it have only been labor put in to get those materials, thus in reality everything is free? Yes there is the supply and demand thing, where the person laboring for materials will sell to the highest bidder. And this is where we have the difference; A laborer can change pricing by not producing an infinite quantity, bits can not be controlled (*cough* DRM *cough*). This leads to the last point, why the end-user has no right to copy for distribution. The creator has, by having labored (which is not limited to physical), the right to define how copies for distribution are done. (I wish to emphasize _for_) The problem is that software and anything else digital, does not come with this natural property of limited quantity or required labor to copy. I think I should also cover what I think the end-user does have the right to do once he buys the product. First off he is bound to the legal contract that he agrees to by using the product, why? Because he agreed to it by the fact that he is using the product (this my change depending on where you live, but local law should still rule). If not given some legal document, be it an OSS on or not, I see these rights for the end- user. The user can not make a profit off of the purchased good until it is no longer being distributed by the creator, the creator is no longer making money. (If a company is the creator, which is likely, they would have some allotted time under 80yrs to control it). The user has the right to resell, see first point, as long as he is giving up his right of use i.e. he is not keeping a copy for himself to use after the sale. The user has control over his copy. Just like a chairs, guests can use it with permission from the copy's owner. And if he does not like his chair in the living room he can take it to the dinning room. Personal use copies are fine. On the subject of users copying. The user can copy for distribution, the end result. If I have a reclining chair, I can take that idea and make my own reclining chair that works and looks exactly the same, as long as I don't use how the original was done (which just might make it hard to prove that it really was all my work). To sum it up, the end-user does not have the right to decided for the creator, how copy for distribution is handled.
Aug 16 2008
parent reply Yigal Chripun <yigal100 gmail.com> writes:
My major issue with what you wrote is this:
60 years or so ago women didn't have the right to vote in the US. let's
go even before that to the time when black people in America were
considered property and didn't have any rights. In that period of time a
white person could claim that the law states that his black slave is his
property and it is entirely legal and moral to treat him as such. Today,
you'd of course disagree. Just as that man would claim according to the
law that black people where not really people and didn't have any
rights, you now claim that we are not entitled to the right of freedom
of information.
besides that, you talk in metaphors of infinitely copyable chairs (just
like in star trek..). I can compare that with the philosophical question
of "what if a tree falls in the forest and there's nobody there, does it
make a sound?" BUT, elementary physics tells us that the tree does make
a sound regardless. And I'll tell you: The chairs are *not* infinitely
copyable. What if I had three legs? well, I don't. So please stick to
the reality that chairs are not the same thing as software.

There are no inherit rights that allow the author to control
distribution. The way it actually works is this:
a) you came up with new exciting idea/poem/article/software/etc..
b) either you keep it to yourself or you publish it.
c) once it was published it is in the public domain. you cannot tell me:
I have an idea such as <some idea> BUT since I just told you my idea it
is mine alone and you cannot use it. If you do not want me to use your
idea just keep it for yourself and don't tell anyone about it. This is
what Coca-Cola does with its secret recipe. (it's secret!)

The above basic scheme was augmented by copyright/patent laws in the
following matter:
The state gives the creator a *limited* time-span of exclusivity from
the moment he told the world his idea or published his book/song/etc.
This is a trade-off designed to make it worthwhile for people to come up
with new ideas, invest their time in art, etc. I.e the public gives some
of its rights in order to gain more diversity of ideas and such.

Your entire analogy to chairs and such is plain false. This is not about
evil me trying to prevent the hard working artist/software developer
from earning his [well deserved] keep. With your method it is illogical
for a creator to give away his creation freely and yet get paid for his
hard work. That is, companies like Red hat simply cannot exist since you
can freely [and legally] download all their products on their website.
Yet, fact is that Red hat is a very financially successful company.

Another example would be music artists which distribute their music
freely online and yet do get paid for their hard work - the more people
listen to their music online the more will want to come to a live
performance [and pay for the ticket]. many artists already realized
this. They do not need the record companies to be successful. on the
contrary, the more they give for free, the more fans they have and the
more they earn.

When I wanted to buy a book about Java I went and bought "Thinking in
Java" which the author publishes a free online version of on his site.
I did download and read the online version and that convinced me it to
pay for the paper version. Not only that but I also recommend this book
and other books by the author, Bruce Eckel, to all my friends.

One last thing: history teaches us that once the freedom of information
is lost all the other rights will soon follow. happened numerous times
all over the world. we all know that when someone burns books the next
thing he'll burn will be people.

Jesse Phillips wrote:
 Ok, let us leave out the chairs and discuss books (books of fiction). 
 (Little tangent: I will agree there is no, "right to make a living." 
 Hell, I can go as far as to say that there is no right to life, liberty, 
 or pursuit of happiness. But then I would have to continue and say that 
 no one has the right to remove someones life, liberty, or happiness. So 
 really where did we go with this?)
 
 Fiction books, I really would say that this is a collection of 
 information (yes information is in it, but it is not solely information) 
 and you probably disagree. Your claim is that if I can in some way 
 (scanner/typing) get the information in this book onto in infinitely 
 distributable medium I am allowed to distribute this as I see fit because 
 I still have the original? And now back to chairs.
 
 Since you can't seem to state the difference from selling physical items 
 and phantom "infinitely copyable items," think I shall make an attempt 
 and include why the purchaser of said product does not buy a right at any 
 point in time to copy and distribute. As said, physical items are lost 
 when distributed to another. However, if you had some way in which that 
 chair could be copied, production line, I would assume that you would 
 claim that I could only charge for the material cost that goes into it 
 then? I obviously couldn't charge for labor because that would be like a 
 Programmer charging for his software since only labor went into it. But 
 then why would the original creator have a right to set a price for his 
 chair, and probably include the labor in that price, shouldn't it just be 
 for the materials that he use? But then again, why did the materials cost 
 money? Wouldn't it have only been labor put in to get those materials, 
 thus in reality everything is free? Yes there is the supply and demand 
 thing, where the person laboring for materials will sell to the highest 
 bidder. And this is where we have the difference; A laborer can change 
 pricing by not producing an infinite quantity, bits can not be controlled 
 (*cough* DRM *cough*).
 
 This leads to the last point, why the end-user has no right to copy for 
 distribution. The creator has, by having labored (which is not limited to 
 physical), the right to define how copies for distribution are done. (I 
 wish to emphasize _for_) The problem is that software and anything else 
 digital, does not come with this natural property of limited quantity or 
 required labor to copy.
 
 I think I should also cover what I think the end-user does have the right 
 to do once he buys the product. First off he is bound to the legal 
 contract that he agrees to by using the product, why? Because he agreed 
 to it by the fact that he is using the product (this my change depending 
 on where you live, but local law should still rule). If not given some 
 legal document, be it an OSS on or not, I see these rights for the end-
 user. 
 
 The user can not make a profit off of the purchased good until it is no 
 longer being distributed by the creator, the creator is no longer making 
 money. (If a company is the creator, which is likely, they would have 
 some allotted time under 80yrs to control it).
 
 The user has the right to resell, see first point, as long as he is 
 giving up his right of use i.e. he is not keeping a copy for himself to 
 use after the sale.
 
 The user has control over his copy. Just like a chairs, guests can use it 
 with permission from the copy's owner. And if he does not like his chair 
 in the living room he can take it to the dinning room. Personal use 
 copies are fine.
 
 On the subject of users copying. The user can copy for distribution, the 
 end result. If I have a reclining chair, I can take that idea and make my 
 own reclining chair that works and looks exactly the same, as long as I 
 don't use how the original was done (which just might make it hard to 
 prove that it really was all my work).
 
 To sum it up, the end-user does not have the right to decided for the 
 creator, how copy for distribution is handled.
Aug 16 2008
next sibling parent reply Jesse Phillips <jessekphillips gmail.com> writes:
On Sun, 17 Aug 2008 03:59:08 +0300, Yigal Chripun wrote:

 My major issue with what you wrote is this: 60 years or so ago women
 didn't have the right to vote in the US. let's go even before that to
 the time when black people in America were considered property and
 didn't have any rights. In that period of time a white person could
 claim that the law states that his black slave is his property and it is
 entirely legal and moral to treat him as such. Today, you'd of course
 disagree. Just as that man would claim according to the law that black
 people where not really people and didn't have any rights, you now claim
 that we are not entitled to the right of freedom of information.
 besides that, you talk in metaphors of infinitely copyable chairs (just
 like in star trek..). I can compare that with the philosophical question
 of "what if a tree falls in the forest and there's nobody there, does it
 make a sound?" BUT, elementary physics tells us that the tree does make
 a sound regardless. And I'll tell you: The chairs are *not* infinitely
 copyable. What if I had three legs? well, I don't. So please stick to
 the reality that chairs are not the same thing as software.
 
Sorry your beef with the past does not work. Back in those days blacks were property, sad but true. Yes there were people that didn't like it, and it was a horrible treatment of human life, yet there is a reason we do not charge people with a crime that was not a crime at the time. You must work to make change, and breaking law might be the only way to do it, but it is your choice and breaking the law (hence illegal). My infinitely copyable chair example actually made reference to productions lines, which I do believe exist outside of Star Treck. I suppose I will have to state that yes, truly infinite copyable anything can not exist, you have to store you program somewhere. But for all intents and purposes products can be produced to a state that is equivalent to infinitely copyable, you only need enough to satisfy everyone that wants it. Information, this is the god damn English language we are talking about, you need to go and define this thing that you wish to be throwing around as something we have a right to. And frankly, what we refer to for this right is completely different and so I am not going to define it myself because that is not the argument.
 There are no inherit rights that allow the author to control
 distribution. The way it actually works is this: a) you came up with new
 exciting idea/poem/article/software/etc.. b) either you keep it to
 yourself or you publish it. c) once it was published it is in the public
 domain. you cannot tell me: I have an idea such as <some idea> BUT since
 I just told you my idea it is mine alone and you cannot use it. If you
 do not want me to use your idea just keep it for yourself and don't tell
 anyone about it. This is what Coca-Cola does with its secret recipe.
 (it's secret!)
Yeah, they are natural rights given by nature. A farmer produces corn, and low and behold he has control over distribution of it. Why, he labored over it and got a product. If someone else is successful in doing the same, great but in either case this creator has the right given by the fact that to produce corn in such quantities takes work and not everyone is going to stumble across the free supplies they need. Which is where the idea of inherent rights to distribution come from. If a laborer of physical goods gets this right without legal statement, a laborer of something that does not have this innate property should have it extended to him.
 
 The above basic scheme was augmented by copyright/patent laws in the
 following matter:
 The state gives the creator a *limited* time-span of exclusivity from
 the moment he told the world his idea or published his book/song/etc.
 This is a trade-off designed to make it worthwhile for people to come up
 with new ideas, invest their time in art, etc. I.e the public gives some
 of its rights in order to gain more diversity of ideas and such.
Do you see a problem with such an idea? If I work at something that others enjoy why not have exclusive rights to it? Yes people are willing to create things for free, but that was their choice and they were the ones that put work into it.
 
 Your entire analogy to chairs and such is plain false. This is not about
 evil me trying to prevent the hard working artist/software developer
 from earning his [well deserved] keep. With your method it is illogical
 for a creator to give away his creation freely and yet get paid for his
 hard work. That is, companies like Red hat simply cannot exist since you
 can freely [and legally] download all their products on their website.
 Yet, fact is that Red hat is a very financially successful company.
First off, not RedHats choice anyway, they built on something that was already being given out for free. Secondly, how is it logical to give something out for free and then be paid for it? Isn't that like selling it (this is assuming you get paid for every one given out for free). The main fallacy with your argument is saying that people can make money even if the are not charging for it. So what? I'm not arguing here what the best business model is to make the most money. There is lots of great, free software out there where people make money. What does that have to do with anything? If you want to convince people to make their stuff free, then great, but it has nothing to do with are argument.
 
 Another example would be music artists which distribute their music
 freely online and yet do get paid for their hard work - the more people
 listen to their music online the more will want to come to a live
 performance [and pay for the ticket]. many artists already realized
 this. They do not need the record companies to be successful. on the
 contrary, the more they give for free, the more fans they have and the
 more they earn.
See above. I don't care what gets people the most money. I care about these person's right to decide how the do their product distribution.
 
 When I wanted to buy a book about Java I went and bought "Thinking in
 Java" which the author publishes a free online version of on his site. I
 did download and read the online version and that convinced me it to pay
 for the paper version. Not only that but I also recommend this book and
 other books by the author, Bruce Eckel, to all my friends.
See above. Great your one of the nice peoples that pays for things they get for free.
 
 One last thing: history teaches us that once the freedom of information
 is lost all the other rights will soon follow. happened numerous times
 all over the world. we all know that when someone burns books the next
 thing he'll burn will be people.
See third paragraph. Define information, then correlate to how the loss of different types of information (yes there is more than one) lead to loss of other rights. I would agree with you on some, but not all. And maybe this can be the topic of the next postings.
 
 Jesse Phillips wrote:
 Ok, let us leave out the chairs and discuss books (books of fiction).
 (Little tangent: I will agree there is no, "right to make a living."
 Hell, I can go as far as to say that there is no right to life,
 liberty, or pursuit of happiness. But then I would have to continue and
 say that no one has the right to remove someones life, liberty, or
 happiness. So really where did we go with this?)
 
 Fiction books, I really would say that this is a collection of
 information (yes information is in it, but it is not solely
 information) and you probably disagree. Your claim is that if I can in
 some way (scanner/typing) get the information in this book onto in
 infinitely distributable medium I am allowed to distribute this as I
 see fit because I still have the original? And now back to chairs.
 
 Since you can't seem to state the difference from selling physical
 items and phantom "infinitely copyable items," think I shall make an
 attempt and include why the purchaser of said product does not buy a
 right at any point in time to copy and distribute. As said, physical
 items are lost when distributed to another. However, if you had some
 way in which that chair could be copied, production line, I would
 assume that you would claim that I could only charge for the material
 cost that goes into it then? I obviously couldn't charge for labor
 because that would be like a Programmer charging for his software since
 only labor went into it. But then why would the original creator have a
 right to set a price for his chair, and probably include the labor in
 that price, shouldn't it just be for the materials that he use? But
 then again, why did the materials cost money? Wouldn't it have only
 been labor put in to get those materials, thus in reality everything is
 free? Yes there is the supply and demand thing, where the person
 laboring for materials will sell to the highest bidder. And this is
 where we have the difference; A laborer can change pricing by not
 producing an infinite quantity, bits can not be controlled (*cough* DRM
 *cough*).
 
 This leads to the last point, why the end-user has no right to copy for
 distribution. The creator has, by having labored (which is not limited
 to physical), the right to define how copies for distribution are done.
 (I wish to emphasize _for_) The problem is that software and anything
 else digital, does not come with this natural property of limited
 quantity or required labor to copy.
 
 I think I should also cover what I think the end-user does have the
 right to do once he buys the product. First off he is bound to the
 legal contract that he agrees to by using the product, why? Because he
 agreed to it by the fact that he is using the product (this my change
 depending on where you live, but local law should still rule). If not
 given some legal document, be it an OSS on or not, I see these rights
 for the end- user.
 
 The user can not make a profit off of the purchased good until it is no
 longer being distributed by the creator, the creator is no longer
 making money. (If a company is the creator, which is likely, they would
 have some allotted time under 80yrs to control it).
 
 The user has the right to resell, see first point, as long as he is
 giving up his right of use i.e. he is not keeping a copy for himself to
 use after the sale.
 
 The user has control over his copy. Just like a chairs, guests can use
 it with permission from the copy's owner. And if he does not like his
 chair in the living room he can take it to the dinning room. Personal
 use copies are fine.
 
 On the subject of users copying. The user can copy for distribution,
 the end result. If I have a reclining chair, I can take that idea and
 make my own reclining chair that works and looks exactly the same, as
 long as I don't use how the original was done (which just might make it
 hard to prove that it really was all my work).
 
 To sum it up, the end-user does not have the right to decided for the
 creator, how copy for distribution is handled.
Aug 16 2008
parent reply Christopher Wright <dhasenan gmail.com> writes:
Jesse Phillips wrote:
 On Sun, 17 Aug 2008 03:59:08 +0300, Yigal Chripun wrote:
 There are no inherit rights that allow the author to control
 distribution. The way it actually works is this: a) you came up with new
 exciting idea/poem/article/software/etc.. b) either you keep it to
 yourself or you publish it. c) once it was published it is in the public
 domain. you cannot tell me: I have an idea such as <some idea> BUT since
 I just told you my idea it is mine alone and you cannot use it. If you
 do not want me to use your idea just keep it for yourself and don't tell
 anyone about it. This is what Coca-Cola does with its secret recipe.
 (it's secret!)
Yeah, they are natural rights given by nature. A farmer produces corn, and low and behold he has control over distribution of it.
Unless someone else decides to take away that corn by force. Which is my right, given by nature, if I can pull it off. The notion of property requires some enforcing mechanism, whether it be brute force or legal convention (and the law is backed up by brute force). But physical property doesn't require any great amount of communication; I live in a place, and I actively prevent other people from living there. Intellectual property is a much more recent invention. For example, William Shakespeare didn't publish any of his plays. One of the few early English playwrights to publish their own works, Ben Johnson, was ridiculed for having done so -- it was polite and properly modest to allow others to publish your works, with no compensation to you. Intellectual property began, I believe, with Renaissance monarchs promoting particular manufacturers by giving them monopolies. If an enterprising entrepreneur created a new product, the rights to manufacture that might be restricted to one individual in the king's favor. This was not any notion of fairness or protection for inventors; it was simply nepotism. In recent times, intellectual property has been extended to cover nearly everything you can think of, and it's transformed into a system intended to protect content creators. This is progress. One can argue that insufficient thought has been given to issues such as remixing copyrighted works, or orphaned copyrights, or patents intended only to generate lawsuits. (I would.) (Also, it's "lo and behold", not "low and behold".)
Aug 17 2008
parent reply Jesse Phillips <jessekphillips gmail.com> writes:
On Sun, 17 Aug 2008 09:47:46 -0400, Christopher Wright wrote:

 Jesse Phillips wrote:
 On Sun, 17 Aug 2008 03:59:08 +0300, Yigal Chripun wrote:
 There are no inherit rights that allow the author to control
 distribution. The way it actually works is this: a) you came up with
 new exciting idea/poem/article/software/etc.. b) either you keep it to
 yourself or you publish it. c) once it was published it is in the
 public domain. you cannot tell me: I have an idea such as <some idea>
 BUT since I just told you my idea it is mine alone and you cannot use
 it. If you do not want me to use your idea just keep it for yourself
 and don't tell anyone about it. This is what Coca-Cola does with its
 secret recipe. (it's secret!)
Yeah, they are natural rights given by nature. A farmer produces corn, and low and behold he has control over distribution of it.
Unless someone else decides to take away that corn by force. Which is my right, given by nature, if I can pull it off.
Ok, so you claim that stealing is your right if you can get away with it. This indicates we should start there with are argument.
 
 The notion of property requires some enforcing mechanism, whether it be
 brute force or legal convention (and the law is backed up by brute
 force). But physical property doesn't require any great amount of
 communication; I live in a place, and I actively prevent other people
 from living there.
Ok, so as long as you have some sort of force to use, you can claim anything to be yours.
 
 Intellectual property is a much more recent invention. For example,
 William Shakespeare didn't publish any of his plays. One of the few
 early English playwrights to publish their own works, Ben Johnson, was
 ridiculed for having done so -- it was polite and properly modest to
 allow others to publish your works, with no compensation to you.
 
Who cares if it is recent or not. The US Constitution is a recent invention, and yet us Americans don't criticize it for that. Actually some may claim it is too old.
 Intellectual property began, I believe, with Renaissance monarchs
 promoting particular manufacturers by giving them monopolies. If an
 enterprising entrepreneur created a new product, the rights to
 manufacture that might be restricted to one individual in the king's
 favor. This was not any notion of fairness or protection for inventors;
 it was simply nepotism.
See above.
 
 In recent times, intellectual property has been extended to cover nearly
 everything you can think of, and it's transformed into a system intended
 to protect content creators. This is progress. One can argue that
 insufficient thought has been given to issues such as remixing
 copyrighted works, or orphaned copyrights, or patents intended only to
 generate lawsuits. (I would.)
I'm not trying to defend how the legal system is set up to handle the issue. Many will agree the legal system is crap.
 
 
 (Also, it's "lo and behold", not "low and behold".)
Thank you.
Aug 17 2008
parent reply Christopher Wright <dhasenan gmail.com> writes:
Jesse Phillips wrote:
 On Sun, 17 Aug 2008 09:47:46 -0400, Christopher Wright wrote:
 
 Jesse Phillips wrote:
 On Sun, 17 Aug 2008 03:59:08 +0300, Yigal Chripun wrote:
 There are no inherit rights that allow the author to control
 distribution. The way it actually works is this: a) you came up with
 new exciting idea/poem/article/software/etc.. b) either you keep it to
 yourself or you publish it. c) once it was published it is in the
 public domain. you cannot tell me: I have an idea such as <some idea>
 BUT since I just told you my idea it is mine alone and you cannot use
 it. If you do not want me to use your idea just keep it for yourself
 and don't tell anyone about it. This is what Coca-Cola does with its
 secret recipe. (it's secret!)
Yeah, they are natural rights given by nature. A farmer produces corn, and low and behold he has control over distribution of it.
Unless someone else decides to take away that corn by force. Which is my right, given by nature, if I can pull it off.
Ok, so you claim that stealing is your right if you can get away with it. This indicates we should start there with are argument.
That is my natural right, since it is my ability. I do not claim that it is right or good or just; society defines those, and society is not the source of natural rights. But it's pointless to talk about natural rights. You can talk about societal rights or, if you're so inclined, God-given rights.
 The notion of property requires some enforcing mechanism, whether it be
 brute force or legal convention (and the law is backed up by brute
 force). But physical property doesn't require any great amount of
 communication; I live in a place, and I actively prevent other people
 from living there.
Ok, so as long as you have some sort of force to use, you can claim anything to be yours.
Well, yes. If fifty armed men showed up at your door and said that all your pillow cases were now theirs, you wouldn't be inclined to argue.
 Intellectual property is a much more recent invention. For example,
 William Shakespeare didn't publish any of his plays. One of the few
 early English playwrights to publish their own works, Ben Johnson, was
 ridiculed for having done so -- it was polite and properly modest to
 allow others to publish your works, with no compensation to you.
Who cares if it is recent or not. The US Constitution is a recent invention, and yet us Americans don't criticize it for that. Actually some may claim it is too old.
Being a recent invention, intellectual property protection is clearly not a basic right of humans. Not all societies will require it.
 I'm not trying to defend how the legal system is set up to handle the 
 issue. Many will agree the legal system is crap.
Because intellectual property is a recent invention, its implementations may not be optimal. Unfortunately, a well-defined legal system predates intellectual property, so it's harder to try out different mechanisms for IP protection.
Aug 17 2008
parent Jesse Phillips <jessekphillips gmail.com> writes:
On Sun, 17 Aug 2008 15:44:57 -0400, Christopher Wright wrote:

 Jesse Phillips wrote:
 On Sun, 17 Aug 2008 09:47:46 -0400, Christopher Wright wrote:
 
 Jesse Phillips wrote:
 On Sun, 17 Aug 2008 03:59:08 +0300, Yigal Chripun wrote:
 There are no inherit rights that allow the author to control
 distribution. The way it actually works is this: a) you came up with
 new exciting idea/poem/article/software/etc.. b) either you keep it
 to yourself or you publish it. c) once it was published it is in the
 public domain. you cannot tell me: I have an idea such as <some
 idea> BUT since I just told you my idea it is mine alone and you
 cannot use it. If you do not want me to use your idea just keep it
 for yourself and don't tell anyone about it. This is what Coca-Cola
 does with its secret recipe. (it's secret!)
Yeah, they are natural rights given by nature. A farmer produces corn, and low and behold he has control over distribution of it.
Unless someone else decides to take away that corn by force. Which is my right, given by nature, if I can pull it off.
Ok, so you claim that stealing is your right if you can get away with it. This indicates we should start there with are argument.
That is my natural right, since it is my ability. I do not claim that it is right or good or just; society defines those, and society is not the source of natural rights. But it's pointless to talk about natural rights. You can talk about societal rights or, if you're so inclined, God-given rights.
 The notion of property requires some enforcing mechanism, whether it
 be brute force or legal convention (and the law is backed up by brute
 force). But physical property doesn't require any great amount of
 communication; I live in a place, and I actively prevent other people
 from living there.
Ok, so as long as you have some sort of force to use, you can claim anything to be yours.
Well, yes. If fifty armed men showed up at your door and said that all your pillow cases were now theirs, you wouldn't be inclined to argue.
 Intellectual property is a much more recent invention. For example,
 William Shakespeare didn't publish any of his plays. One of the few
 early English playwrights to publish their own works, Ben Johnson, was
 ridiculed for having done so -- it was polite and properly modest to
 allow others to publish your works, with no compensation to you.
Who cares if it is recent or not. The US Constitution is a recent invention, and yet us Americans don't criticize it for that. Actually some may claim it is too old.
Being a recent invention, intellectual property protection is clearly not a basic right of humans. Not all societies will require it.
 I'm not trying to defend how the legal system is set up to handle the
 issue. Many will agree the legal system is crap.
Because intellectual property is a recent invention, its implementations may not be optimal. Unfortunately, a well-defined legal system predates intellectual property, so it's harder to try out different mechanisms for IP protection.
I will move this to the "does IP exist" thread.
Aug 17 2008
prev sibling parent reply "Jb" <jb nowhere.com> writes:
"Yigal Chripun" <yigal100 gmail.com> wrote in message 
news:g87t4r$1uq6$1 digitalmars.com...
 My major issue with what you wrote is this:
 60 years or so ago women didn't have the right to vote in the US. let's
 go even before that to the time when black people in America were
 considered property and didn't have any rights. In that period of time a
 white person could claim that the law states that his black slave is his
 property and it is entirely legal and moral to treat him as such. Today,
 you'd of course disagree. Just as that man would claim according to the
 law that black people where not really people and didn't have any
 rights, you now claim that we are not entitled to the right of freedom
 of information.
One of the consequences of the abolition of slavery was that those people now had the right to paid for their work, whereas previously they didnt. So your crass analogy actualy works against you.
 besides that, you talk in metaphors of infinitely copyable chairs (just
 like in star trek..). I can compare that with the philosophical question
 of "what if a tree falls in the forest and there's nobody there, does it
 make a sound?" BUT, elementary physics tells us that the tree does make
 a sound regardless. And I'll tell you: The chairs are *not* infinitely
 copyable. What if I had three legs? well, I don't. So please stick to
 the reality that chairs are not the same thing as software.
I think he was making the point that when you buy a physical product you are not just paying for materials, but also for the labour, whether production line labour or the labour in development and design. If you take the actual cost of materials out of the analogy with a chair you are left with a similar situation we have with software, where the cost of the product is almost all labour costs.
 There are no inherit rights that allow the author to control
 distribution. The way it actually works is this:
There are no inherent rights to anything in this world. Human rights, or copyrights, or civil rights, all of these are human creations. So when we talk about such rights, it only makes sense to do so in that context. What rights has our society / social group decided we have.
 a) you came up with new exciting idea/poem/article/software/etc..
 b) either you keep it to yourself or you publish it.
 c) once it was published it is in the public domain. you cannot tell me:
 I have an idea such as <some idea> BUT since I just told you my idea it
 is mine alone and you cannot use it. If you do not want me to use your
 idea just keep it for yourself and don't tell anyone about it. This is
 what Coca-Cola does with its secret recipe. (it's secret!)
You dont copyright ideas, you patent ideas. Copyright is for protecting works, artistic or otherwise, not for protecting ideas. If you read a book for example you are free to tell people about the ideas in the book. Nobody is trying to stop you doing that. But you are not usualy free to make a copy of the book and give that to them.
 Your entire analogy to chairs and such is plain false. This is not about
 evil me trying to prevent the hard working artist/software developer
 from earning his [well deserved] keep. With your method it is illogical
 for a creator to give away his creation freely and yet get paid for his
 hard work. That is, companies like Red hat simply cannot exist since you
 can freely [and legally] download all their products on their website.
 Yet, fact is that Red hat is a very financially successful company.
Straw man. He never said you cant do whatever business model you want, he simply said the "software is a product" business model is a valid one. That some companies do well with "software as a service" doesnt mean we should force all companies to be like that. Or that we should rigidly confine our idea of what software is in such a way.
 Another example would be music artists which distribute their music
 freely online and yet do get paid for their hard work - the more people
 listen to their music online the more will want to come to a live
 performance [and pay for the ticket]. many artists already realized
 this. They do not need the record companies to be successful. on the
 contrary, the more they give for free, the more fans they have and the
 more they earn.
From what I've read the majority of bands / artists who are actualy doing well with such models are ones who have already climbed up music industry ladder and were already world famous before going independant..
 When I wanted to buy a book about Java I went and bought "Thinking in
 Java" which the author publishes a free online version of on his site.
 I did download and read the online version and that convinced me it to
 pay for the paper version. Not only that but I also recommend this book
 and other books by the author, Bruce Eckel, to all my friends.
If that's his choice of business model good for him. If he makes a living that way great. But if it isnt he shouldnt be forced to adopt that business model by people like you. Dont get me wrong, i like such ways of doing things, i like free software, and such try before buy busniess models. But i dont think I have a right to it. I dont have the right to force you to do business in a way that suits me.
 One last thing: history teaches us that once the freedom of information
 is lost all the other rights will soon follow. happened numerous times
 all over the world. we all know that when someone burns books the next
 thing he'll burn will be people.
You're very confused. Freedom of information is about cencorship, government control of information, and about such information being *freely accessible*. It's not about information being free as in free beer. And again i find your analogy with book burning somewhat crass. The situation we are talking about here is nothing like that. No-one is trying to erase certain ideas / artistic works from history. We are in fact trying to do the exact oposite. We are trying to create an enviroment where ideas and artist works flourish.
Aug 16 2008
parent reply "Adam D. Ruppe" <destructionator gmail.com> writes:
On Sun, Aug 17, 2008 at 04:12:37AM +0100, Jb wrote:
 No-one is trying 
 to erase certain ideas / artistic works from history. We are in fact trying 
 to do the exact oposite. We are trying to create an enviroment where ideas 
 and artist works flourish.
Then why is this debate about rights? Rights are irrelevant - what matters is the results. If your goal is to create an environment where ideas and art flourish, great. That's a good goal, and that is where your defence should be focused. Forget all this repetitive talk about rights, and talk about how the law helps or doesn't help achieve this goal (or whatever other goal you want to set). Copyright law might be a valid way to achieve this goal. It might not be. There might be completely better ways (something I'm convinced of). Setting a real world goal for the debate lets both sides create an objective test case for their arguments, which would let it finally come to an adequate conclusion. -- Adam D. Ruppe http://arsdnet.net
Aug 16 2008
next sibling parent reply Yigal Chripun <yigal100 gmail.com> writes:
Adam D. Ruppe wrote:
 On Sun, Aug 17, 2008 at 04:12:37AM +0100, Jb wrote:
 No-one is trying 
 to erase certain ideas / artistic works from history. We are in fact trying 
 to do the exact oposite. We are trying to create an enviroment where ideas 
 and artist works flourish.
Then why is this debate about rights? Rights are irrelevant - what matters is the results. If your goal is to create an environment where ideas and art flourish, great. That's a good goal, and that is where your defence should be focused. Forget all this repetitive talk about rights, and talk about how the law helps or doesn't help achieve this goal (or whatever other goal you want to set). Copyright law might be a valid way to achieve this goal. It might not be. There might be completely better ways (something I'm convinced of). Setting a real world goal for the debate lets both sides create an objective test case for their arguments, which would let it finally come to an adequate conclusion.
I agree with you. if we talk about results: allowing free redistribution of information allows young aspiring artists to go straight to the public and spread the word about their art. this also works for software developers with the same model. You do not need to convince someone with lots of money to invest in you in order to create your software. you do not need to start your own company. Many OSS developers done just that. i.e Linus published his kernel online, it got successful and now he's being paid to develop his pet project. same goes for the core developers of all OSS. the problem is greed. people think they can go write a text-editor, patent the sh*t out of it and become billionaires. also on the way screwing anyone else that also wanted to produce a text editor. so yes, with OSS you won't become the next bill gates with your software, but, we'll have more diversity of software and more people could make a descent living by being software developers. besides, why does it make sense that we should have a small bunch of people controlling all software and getting all the benefits?
Aug 17 2008
parent Mike Parker <aldacron gmail.com> writes:
Yigal Chripun wrote:
 Adam D. Ruppe wrote:
 On Sun, Aug 17, 2008 at 04:12:37AM +0100, Jb wrote:
 No-one is trying 
 to erase certain ideas / artistic works from history. We are in fact trying 
 to do the exact oposite. We are trying to create an enviroment where ideas 
 and artist works flourish.
Then why is this debate about rights? Rights are irrelevant - what matters is the results. If your goal is to create an environment where ideas and art flourish, great. That's a good goal, and that is where your defence should be focused. Forget all this repetitive talk about rights, and talk about how the law helps or doesn't help achieve this goal (or whatever other goal you want to set). Copyright law might be a valid way to achieve this goal. It might not be. There might be completely better ways (something I'm convinced of). Setting a real world goal for the debate lets both sides create an objective test case for their arguments, which would let it finally come to an adequate conclusion.
I agree with you. if we talk about results: allowing free redistribution of information allows young aspiring artists to go straight to the public and spread the word about their art.
This has been mentioned before, but there's a difference between liberty and gratuity. It's unfortunate that we use the one word, freedom, to represent both in English.
 this also works for software developers with the same model. You do not
 need to convince someone with lots of money to invest in you in order to
 create your software. you do not need to start your own company.
 Many OSS developers done just that.
 i.e Linus published his kernel online, it got successful and now he's
 being paid to develop his pet project. same goes for the core developers
 of all OSS. the problem is greed. people think they can go write a
 text-editor, patent the sh*t out of it and become billionaires. also on
 the way screwing anyone else that also wanted to produce a text editor.
 so yes, with OSS you won't become the next bill gates with your
 software, but, we'll have more diversity of software and more people
 could make a descent living by being software developers.
 
 besides, why does it make sense that we should have a small bunch of
 people controlling all software and getting all the benefits?
You're taking this argument well beyond the boundaries and entering the territory of ideology. No one denies that Linus was free to distribute Linux without charge. No one in these discussions here have advocated that people be prevented from doing so. And I've yet to see anyone lend support to the idea that all software should be controlled by a few people. What people here have argued is that Linus had the /choice/ to release Linux freely. That's freedom (liberty). It was *his* choice. Not yours, not mine. He could just as easily have chosen to charge you an arm and a leg for it. We can all be happy that he didn't. But if you allow anyone and everyone to freely (gratis) distribute the work of others without permission, you are then impugning the freedom (liberty) of the creators. Is that what you really want?
Aug 17 2008
prev sibling parent reply "Jb" <jb nowhere.com> writes:
"Adam D. Ruppe" <destructionator gmail.com> wrote in message
news:mailman.7.1218945114.19733.digitalmars-d puremagic.com...
 On Sun, Aug 17, 2008 at 04:12:37AM +0100, Jb wrote:
 No-one is trying
 to erase certain ideas / artistic works from history. We are in fact
 trying
 to do the exact oposite. We are trying to create an enviroment where
 ideas
 and artist works flourish.
Then why is this debate about rights? Rights are irrelevant - what matters is the results.
Because rights are what lead us to those results. Human rights are what make society more fair, compasionate, and inclusive. For example.
 If your goal is to create an environment where ideas and art flourish,
 great. That's a good goal, and that is where your defence should be
 focused.
That's pretty much where my defense has been focused.
 Forget all this repetitive talk about rights, and talk about how the
 law helps or doesn't help achieve this goal (or whatever other goal you
 want to set).
It is the law that decides what rights we have. You cannot talk about this without talking about rights.
 Copyright law might be a valid way to achieve this goal. It might not
 be. There might be completely better ways (something I'm convinced of).
I think the mistake you and Yigal are making is assuming that it should all be done in the same way. Red Hat does this or that why cant everyone else? Well the system should allow people as much freedom as possible to work on whichever business model best suits their enterprise. Which is pretty much what we have today. By allowing authors to control distribution they can control the business model. They can give it away if they like. They can go for a service model, and honesty box model, or a product model. But if you take away that right the range of options open to them is far smaller. And you would see far less enterprise because of it.
Aug 17 2008
parent reply "Adam D. Ruppe" <destructionator gmail.com> writes:
On Sun, Aug 17, 2008 at 06:58:13PM +0100, Jb wrote:
 I think the mistake you and Yigal are making is assuming that it should all 
 be done in the same way.
My own position is may be a little weird. As far as rights to information goes, there are a two: 1) You cannot force someone to divulge anything. Thus, he is free to charge someone for a piece of information if he wants. 2) You cannot force someone /not/ to divulge something. Thus, once you tell someone something, he is free to resell it if he wants. In short, I'm saying a person can choose to tell or not tell whatever he wants. We are definitely in agreement on point #1. Copyright directly restricts point #2 - it forces people to not divulge something they know, lest they face undesirable consequences. Use of force to modify people's behaviour needs to be justified. This is where the disagreement really lies, and as you read on, you'll see that you and I don't really disagree as much here as it might look at first glance :)
 Well the system should allow people as much freedom as possible to work on 
 whichever business model best suits their enterprise.
If my business model was to murder all my competitors, you surely wouldn't allow that. Clearly, people aren't free to pick which ever business model best suits them - there are restrictions on what they can do, especially when it comes to using force on other people. As I said above, copyright law is using force on other people to modify their behaviour. It seems like it, by default, shouldn't be permitted. Unlike most human rights which prevent you from using force on people except in extreme circumstances (people have a right to life, thus murder is wrong, etc.), copyright permits you to use force on people. This is backward. The burden of proof is on the pro-copyright side.
 But if you take away that right the range of options open to them is far 
 smaller.
 
 And you would see far less enterprise because of it.
They don't have the option to send armed thugs to their competitor's office to prevent him from manufacturing other objects, and that doesn't hurt business - quite the opposite, it helps business. Copyright might not be sending armed thugs, but it is the same idea: you are forcing someone else out in favor of yourself. I would argue that in an ideal world, there would be no copyright, and this is something that would allow art to flourish. Consider a world without copyright for a moment. Say you find a software library on the Internet that is perfect for your needs and would shave weeks off your development time. With copyright, you have to adhere to its license, which wastes your time. Without copyright, you just take it and use it. Your project is now completed weeks ahead of schedule and is of higher quality than if you had to reimplement that library yourself. This lets you move on to another project more quickly. The world gets more and better creations since you weren't restricted in what you could do in creating it. Later on, someone could do the same to your project, using it or pieces of it to shave time off his own project, adding more and more quantity and quality of creations to the world. This would be ideal. Art would flourish. But the real world isn't ideal as it is right now. This is where you might be able to justify a copyright law. In the real world, if you devote several months to creating something, you have bills that need to be paid during those months. You have two options: 1) Work another job to pay the bills. This eats into the time you would otherwise spend on the creation of your project, meaning you can't create as much nor as high quality as you could by devoting more time to it. Or 2) Make some money off that project in some way. This lets you devote all your time to the creation of the art while still paying the bills. There are a few ways to accomplish that. One is to sell originals of the work to people later. Musicians can do this by selling tickets to live performances. Painters can do this by selling their painting. Software developers can't do this directly. The best hope they have is selling support, which IMO isn't a very attractive option... Another is to work on commission. You create a custom work for someone who pays you ahead of time to create something just for him. This is actually how I make money off my software right now in the real world; I write extremely boring, but highly specialized applications to specific customers. They pay me for a custom fitted program, which I cannot control at all when it is done (the copyright is assigned to the customer.) That is how artists worked through most of history. It's a fairly good model for various kinds of artists, including software developers. Even without copyright, people will probably still want custom-tailored solutions to their own problems and will be willing to pay for it. Another way to pay the bills while being an artist is to be sponsored by someone. This is comparatively rare, so it isn't something on which to bet the farm. Finally, you have the copyright option: using force to shape the market in such a way where it is profitable to you. If none of the above options are workable, this lets the artist still pay the bills while working on his art full-time. Thus, most everyone is happy: the art is created, letting people have it and the artist doesn't have to starve to death. That result is the only thing that justifies copyright. It isn't about the rights of the creator - he doesn't have the right to use force on people under normal circumstances, so that argument is right out. It is about the end result. In an ideal world, copyright would be an evil. It would do only harm and no good. (As you can probably tell, the definition of the ideal world I'm using here is simply one where bills /don't/ have to be paid. Other than that difference, all things are equal with the real world. I strongly believe that the real world could be adjusted to fit this definition in the near future, if only we had the political will to make some changes.) In the ideal world, the only restriction I'd place on 'intellectual property' is basically what several of the phobos source licenses say: you may not misrepresent the source of the work. Otherwise, do whatever you want with it. In the real world, it serves a useful purpose - letting artists work full time without selling originals or working on commission, permitting things to be created that otherwise would be neglected in favor of the artist paying his bills. Thus it is allowed to exist. That's it. -- Adam D. Ruppe http://arsdnet.net
Aug 17 2008
next sibling parent reply "Jb" <jb nowhere.com> writes:
"Adam D. Ruppe" <destructionator gmail.com> wrote in message 
news:mailman.8.1219006500.19733.digitalmars-d puremagic.com...

 In the real world, it serves a useful purpose - letting artists work full
 time without selling originals or working on commission, permitting things
 to be created that otherwise would be neglected in favor of the artist 
 paying
 his bills. Thus it is allowed to exist.
I wish you'd put that paragraph first and then I wouldnt have spent 30 minutes responding to all your utopian copyright free wet dreams. ;-) I do think you overstate what copyright actualy does. It doesnt prevent sharing of ideas and information. It just prevent copying of (usualy) artistic works. You can read a book and tell people about what is in the book. Explain the ideas. Or tell them about your experiences of a film you saw. You can even buy it on DVD and have them round your house to watch it. All it actualy does is stop you making a copy and giving it to them.
Consider a world without copyright for a moment. Say you find a software
library on the Internet that is perfect for your needs and would shave
weeks off your development time.

With copyright, you have to adhere to its license, which wastes your time.
Without copyright, you just take it and use it.
Actualy without copyright the chances of finding that library would be greatly diminished. For a start if people want to they can already create software and release with no restrictions. This option already exists. All that would happen if you killed copyright is the people who write and release software in order to make a living would likely go out of business and end up doing somthing else. For a start nobody would be obliged to pay for their work. Second anyone could copy it and put it up on their website, and sell it as if it were there own. You end up in a situation where those people with the most ruthless business practices are the ones who will do most well. So the idea that art / software production would flourish without copyright is plain false, it's so false it's almost absurd.
Aug 17 2008
parent reply "Adam D. Ruppe" <destructionator gmail.com> writes:
On Mon, Aug 18, 2008 at 12:23:44AM +0100, Jb wrote:
 I wish you'd put that paragraph first and then I wouldnt have spent 30 
 minutes responding to all your utopian copyright free wet dreams.
 
 ;-)
Heh, yes, I do tend to ramble. (One reason why I generally lurk rather than post...)
 
 I do think you overstate what copyright actualy does. It doesnt prevent 
 sharing of ideas and information. It just prevent copying of (usualy) 
 artistic works.
The bits that make up that artistic work is information! If I take a screenshot of a computer program, that is considered copyright infringement (in the US anyway, as I understand it. Disclaimer: I'm no lawyer, so I might be wrong, but I don't think so.) I'm not copying the work - I'm providing a detailed description of a portion of it (its user interface). If I write a piece of fan fiction starring Captain Kirk and the starship Enterprise, I'm technically infringing on Paramount Picture's copyright, since my book would be considered a derivative work of Star Trek. That is the worst case - I would have copied no actual words, just the abstract information of Kirk's characterisation. Yet, technically, the law says I can't do that without Paramount's permission. I'm sure that, at the very least, we can agree that several aspects of copyright law are absurd, even if you accepted the rest of it. But that is definitely information about the work that I cannot copy under the law. One could easily argue that transmitting something like source code down the Internet is sending a very detailed description of the product (product == the compiled executable) rather than copying the work. I didn't copy the executable itself - I sent a detailed description of it. This description just happens to be detailed enough for the compiler to create a perfect copy from it. The only difference between that description and a verbal description of the program is the resolution of detail. In both cases, I am spreading information about it.
 Actualy without copyright the chances of finding that library would be 
 greatly diminished. For a start if people want to they can already create 
 software and release with no restrictions. This option already exists.
Yes, indeed, and many people do (or something very close to no restrictions, like the licenses in Phobos). And there's an interesting question: why do people write software with few restrictions now, when they could possibly make more money off keeping it restricted? If copyright didn't exist, would those reasons suddenly disappear? I say no:
 All that would happen if you killed copyright is the people who write and 
 release software in order to make a living would likely go out of business 
 and end up doing somthing else.
Maybe. Maybe not. Lots of existing free software is written for the author's own personal use (hence their generally poor user interfaces...). This stuff wouldn't go away. The demand is still present. Demand is what drives commercial software too. Demand for something like tax software wouldn't disappear without copyright, so tax software shouldn't disappear either. The payment model would probably switch to pay in advance. Someone (more likely a group than individuals) would hire developers to write the software so they can use it for themselves. Everyone else would then use it as a kind of collateral damage. Damage isn't a good word to use here, since no one is getting hurt, but I can't think of a better term. A similar example to the concept I have in mind is in politics. The United States Navy patrols the oceans of the world to protect American trade and national interests. In doing so, other countries get to benefit from this too - fighting piracy (the kind on the seas) benefits other countries, since those pirate ships would attack anyone from any country and do their damage, not just Americans. The other countries get this benefit without them having to pay for it. Of course, again, the US doesn't do this for benefit of other nations - it does it for itself. But, regardless, the job is still done and everyone can still benefit from it. Software would become similar. Everyone looks out for his own interests, and other people can come along for the free ride without hurting anyone.
 So the idea that art / software production would flourish without copyright 
 is plain false, it's so false it's almost absurd.
How then do you explain the wealth of art that was created before copyright was around? Or the vast amounts of free (or close to free) software on the Web now? -- Adam D. Ruppe http://arsdnet.net
Aug 17 2008
next sibling parent reply "Steven Schveighoffer" <schveiguy yahoo.com> writes:
"Adam D. Ruppe" wrote
 If I take a screenshot of a computer program, that is considered copyright
 infringement (in the US anyway, as I understand it. Disclaimer: I'm no 
 lawyer,
 so I might be wrong, but I don't think so.)

 I'm not copying the work - I'm providing a detailed description
 of a portion of it (its user interface).
Nope. The original author of the software cannot possibly copyright all possible screenshots. Copyrights only apply to a specific piece of media, and since you were the creator of that media, you can copyright it. However, it may contain trademarked elements, such as a logo. However, it is possible to have trademarked material as long as you are critiquing something, and you represent who the owner of the trademark is properly. Even if there was some possible way to copyright the UI, this should fall under fair use as you are presenting a 'clip' of a copyrighted piece of media for critique.
 If I write a piece of fan fiction starring Captain Kirk and the starship
 Enterprise, I'm technically infringing on Paramount Picture's copyright,
 since my book would be considered a derivative work of Star Trek.
Nope, but you are infringing on the trademark names of 'Captain Kirk' and the starship 'Enterprise'. I think there is probably some restriction on making money from the trademark. If you wrote a book with 'Captian Jerk' and the starship 'Doorprize', then you would have no problem :)
 That is the worst case - I would have copied no actual words, just the
 abstract information of Kirk's characterisation. Yet, technically, the
 law says I can't do that without Paramount's permission.
Because you would be using Paramount's trademarks in order to make money. There is a huge amount of weight behind those simple words, and most likely, you would enjoy Paramount's ability to sell anything that is star trek related, without having created the original idea. That is why trademark law exists.
 One could easily argue that transmitting something like source code
 down the Internet is sending a very detailed description of the product
 (product == the compiled executable) rather than copying the work.
The source code is also copyrighted. Copyright is inherently assigned to the author (even if he doesn't label it as such). He can assign the copyright to someone else if he wants.
 I didn't copy the executable itself - I sent a detailed description of it.
 This description just happens to be detailed enough for the compiler to 
 create
 a perfect copy from it.
If you sent a detailed description of the source code (i.e. an english description of how it works), this is not a violation of copyright, as you cannot copyright ideas. Many companies use 'clean room' techniques where one team disassembles code, figures out how it works, then describes that to another team which writes a compatible piece of software. They are not infringing on copyright because the developers have not seen any of the original code. In some countries, however, you can patent software 'business methods', i.e. ideas (which to me is absurd for software).
 The only difference between that description and a verbal description
 of the program is the resolution of detail. In both cases, I am spreading
 information about it.
No, the difference is that the code is copyrighted. If you build the code from reverse engineering, it is a derivative work. The verbal description is a description of the ideas, which are not copyrightable. -Steve
Aug 18 2008
parent reply "Adam D. Ruppe" <destructionator gmail.com> writes:
On Mon, Aug 18, 2008 at 10:01:41AM -0400, Steven Schveighoffer wrote:
  snip trademark explanation
Conceded.
 No, the difference is that the code is copyrighted.  If you build the code 
 from reverse engineering, it is a derivative work.  The verbal description 
 is a description of the ideas, which are not copyrightable.
Would it be fair to say information about the ideas is fine to spread, but information about the specific implementation isn't?
 
 -Steve 
 
-- Adam D. Ruppe http://arsdnet.net
Aug 18 2008
parent reply "Steven Schveighoffer" <schveiguy yahoo.com> writes:
"Adam D. Ruppe" wrote
 On Mon, Aug 18, 2008 at 10:01:41AM -0400, Steven Schveighoffer wrote:
  snip trademark explanation
Conceded.
 No, the difference is that the code is copyrighted.  If you build the 
 code
 from reverse engineering, it is a derivative work.  The verbal 
 description
 is a description of the ideas, which are not copyrightable.
Would it be fair to say information about the ideas is fine to spread, but information about the specific implementation isn't?
Hm... depending on the information about the specific implementation, that might be debatable. For example, if you wanted to have a competing library that used the exact same API (i.e. a swappable replacement), I'm not sure that would be considered infringement, as there is no way to create a binary compatible API without copying exactly (e.g. Lesstif). Most likely, this API is described in a document, so you could potentially write a new header file that had the same function names, but that wasn't a copy of the original header file. But surely, if you describe the exact implementation, it is infringement. Description of the concepts behind the implementation should be fine. Please note, I am not a lawyer, so don't take this as legal advice ;) -Steve
Aug 18 2008
parent Lars Ivar Igesund <larsivar igesund.net> writes:
Steven Schveighoffer wrote:

 "Adam D. Ruppe" wrote
 On Mon, Aug 18, 2008 at 10:01:41AM -0400, Steven Schveighoffer wrote:
  snip trademark explanation
Conceded.
 No, the difference is that the code is copyrighted.  If you build the
 code
 from reverse engineering, it is a derivative work.  The verbal
 description
 is a description of the ideas, which are not copyrightable.
Would it be fair to say information about the ideas is fine to spread, but information about the specific implementation isn't?
Hm... depending on the information about the specific implementation, that might be debatable. For example, if you wanted to have a competing library that used the exact same API (i.e. a swappable replacement), I'm not sure that would be considered infringement, as there is no way to create a binary compatible API without copying exactly (e.g. Lesstif). Most likely, this API is described in a document, so you could potentially write a new header file that had the same function names, but that wasn't a copy of the original header file. But surely, if you describe the exact implementation, it is infringement. Description of the concepts behind the implementation should be fine. Please note, I am not a lawyer, so don't take this as legal advice ;)
I have seen commercial libraries implement exact same API as other commercial libraries, and only been considered as healthy competition - it is the same with Wine and their re-implementation of Windows API's - it isn't possible to copyright or otherwise restrict the "use" of API's for such a purpose - you cannot just copy the headers the API is described in though - ref the MinGW windows header project. -- Lars Ivar Igesund blog at http://larsivi.net DSource, #d.tango & #D: larsivi Dancing the Tango
Aug 18 2008
prev sibling parent reply "Jb" <jb nowhere.com> writes:
"Adam D. Ruppe" <destructionator gmail.com> wrote in message 
news:mailman.9.1219031970.19733.digitalmars-d puremagic.com...
 On Mon, Aug 18, 2008 at 12:23:44AM +0100, Jb wrote:

 I do think you overstate what copyright actualy does. It doesnt prevent
 sharing of ideas and information. It just prevent copying of (usualy)
 artistic works.
The bits that make up that artistic work is information! If I take a screenshot of a computer program, that is considered copyright infringement (in the US anyway, as I understand it. Disclaimer: I'm no lawyer, so I might be wrong, but I don't think so.)
If i remember correctly this came up when someone got a pre release screen shot of one of the new versiosn of MacOS, they published this online. And Apple decided to sue them for breach of copyright as they wanted to keep it secret untill the big unveiling. Breach of copyright was the only avenue open to them iirc, and i dont know how it turned out but the point is moot. That is an absurd abuse of copyright. It is not the norm. So yes current copyright laws do sometimes produce undesirable results. And they are not perfect. And I agree that fair use should be expanded, and copyright lengths reduced.
 Actualy without copyright the chances of finding that library would be
 greatly diminished. For a start if people want to they can already create
 software and release with no restrictions. This option already exists.
Yes, indeed, and many people do (or something very close to no restrictions, like the licenses in Phobos). And there's an interesting question: why do people write software with few restrictions now, when they could possibly make more money off keeping it restricted? If copyright didn't exist, would those reasons suddenly disappear? I say no:
This is my point. Those people who want to can already work with free and open licences. Disolving copyright wont change that.
 So the idea that art / software production would flourish without 
 copyright
 is plain false, it's so false it's almost absurd.
How then do you explain the wealth of art that was created before copyright was around? Or the vast amounts of free (or close to free) software on the Web now?
It's not that art or software would not be produced if we disolved copyright. It's that far far less of it would. The amount of art produced prior to the 20th centuary is miniscule compared to what was produced during it. There have been millions of songs, books, and films that have made in the last 100 years. If you compared that to what was made in just one of the centurarys of the Renaisence it would be like comparing mountain to a mole hill. The simple fact is that the "patronage" system that was in use before hand is incredibly inneficient. It just doesnt work that well. And your supposed ideas of how it could work just emphasise the point. The problem is that getting a 100 people together, and getting them to agree on what they want, and how much they will pay, and then finding someone who will do the work, is just absurd. You are insane if you think that system will be more efficient and more productive than the current copyright / capatilist one. Free market, and free trade, will always batter such a system into the ground. It's why you see very little art comming out of Comunist countrys in comparison to capatilist ones. It's why capalism works. It's pragmatic rather than idealistic.
Aug 18 2008
parent reply "Adam D. Ruppe" <destructionator gmail.com> writes:
On Mon, Aug 18, 2008 at 04:12:18PM +0100, Jb wrote:
 So yes current copyright laws do sometimes produce undesirable results. And 
 they are not perfect. And I agree that fair use should be expanded, and 
 copyright lengths reduced.
Agreed.
 The amount of art produced prior to the 20th centuary is miniscule compared 
 to what was produced during it. There have been millions of songs, books, 
 and films that have made in the last 100 years.
This isn't because of copyright. Copyright has been around since about 1700; it didn't suddenly come to existence in 1900, so you can't say it is the cause of the explosion of new stuff around that time. What did change around 1900 is an explosion of industry, an explosion of human population, and just a general explosion of wealth. World population today is 4x bigger than it was in 1900, so all other things being equal, it makes sense to see 4x more stuff created. World population in 1800 was about 2/3 that of 1900. [My source for the above numbers is Wikipedia: <http://en.wikipedia.org/wiki/World_population>] It makes sense that the 20th century saw more stuff created than previous centuries based on population growth alone. Similar situations exist in general wealth factors - the average person today is much richer than the average person 100 years ago, giving him more time to devote to stuff like art. Higher technology is also a significant factor. Thirty years ago, it is unlikely someone like me would have been able to become a computer programmer at all - I simply couldn't afford it. But now, computers are so cheap, and the necessary programs so easy to get, that random high school students can pick it up and start making stuff. (Thanks to Digital Mars here; I first learned C++ on the free download of dmc.) And thanks to the Internet, those random students and look at a wealth of existing stuff to learn from and release their own stuff with trivial ease. Similar things exist in other fields. Anyone can now publish his own writings, amateurs can create and publish images and animation. Copyright might take some credit for this. I'm sure it does, as without it, something like Digital Mars might not exist at all. But it can't anything near to all the credit, and now since this situation already exists, removing copyright isn't going to suddenly erase what is already done.
 And your supposed ideas of how it could work just emphasise the point. The 
 problem is that getting a 100 people together, and getting them to agree on 
 what they want, and how much they will pay, and then finding someone who 
 will do the work, is just absurd.
Nonsense. Create a website with a donation system. Someone looking for the software you are about to have written can find this website and decide if he wants to help pay the developer to write it or if he simply doesn't want it to get done. The donation system wouldn't be just a donation system, it would be entering into a contract to get what you paid for - if the developer doesn't deliver, you get your money back. Furthermore, since you are paying into the contract, you get a say in what you want. Perhaps shareholders can vote on acceptance tests or on must have features to write into the contract. Exactly like they would when buying packaged software, except here they pay first then get the software made rather than the other way around.
 You are insane if you think that system 
 will be more efficient and more productive than the current copyright / 
 capatilist one.
This /is/ a capitalist system. People invest in a product to suit their own needs - that's the very definition of capitalism. Even the obvious downside of the above plan: someone chooses not to invest hoping that someone else will and he still benefits, is purely capitalist. He is looking out for his own interests, trying to get the most product for the least amount of money. The counterbalance to this is that if he doesn't invest in it, he might not get what he wants, or it might not be created at all. So he has to make a decision. If I was a software developer in such a world, I'd keep the current list of shareholders and amount of money I've been paid a secret. Then someone looking at the website doesn't know if he has to invest or not to get the product, so hopefully, he will, meaning I get a bit more profit. The customer is safe in donating to me, even if I don't get enough capital to make the product, since if I don't deliver, he can sue me for his money back. That is pure, unrestrained and safe competition in a wholly capitalist system. -- Adam D. Ruppe http://arsdnet.net
Aug 18 2008
parent reply "Jb" <jb nowhere.com> writes:
"Adam D. Ruppe" <destructionator gmail.com> wrote in message 
news:mailman.13.1219076519.19733.digitalmars-d puremagic.com...
 And your supposed ideas of how it could work just emphasise the point. 
 The
 problem is that getting a 100 people together, and getting them to agree 
 on
 what they want, and how much they will pay, and then finding someone who
 will do the work, is just absurd.
Nonsense. Create a website with a donation system. Someone looking for the software you are about to have written can find this website and decide if he wants to help pay the developer to write it or if he simply doesn't want it to get done. The donation system wouldn't be just a donation system, it would be entering into a contract to get what you paid for - if the developer doesn't deliver, you get your money back.
I know people who have done things like this. They get 1000s of downloads and accaisionaly someone donates 5 bucks. It doesnt work. The vast majority of people will not pay if they dont have to. One guy i know who actualy releases his plugins as donationware got so little money he had to shut his website down because he couldnt afford the hosting costs. Yes he got a 10 page thread full of people saying "oh no thats so sad, your plugins are great, hope you get back online soon". But in spite of all those people, of all the thousands of downloads, people didnt donate enough for him to pay for the bandwidth to run his website. Really, it does not work. It may work for massive projects, with tens or hundreds of thousands of users, but for small to medium size enterprize it will never work. At least not for anything but a handful of developers.
 Furthermore, since you are paying into the contract, you get a say in
 what you want. Perhaps shareholders can vote on acceptance tests or
 on must have features to write into the contract.
It's hard enough getting half a dozen people to decide on what features to include in a prjoect they are all working on without having a couple of hundred "investors" arguing over it as well. The problem is firstly "too many cooks" and secondly "too much administration". It's absurd. And actualy, if I had to bend to the whim of my customers on every single thing my product would actualy be worse for it. It would be the worst case of design by commitee ever. So not only would your scheme stiffle creativity in general. It would also stiffle individual creativity.
 Exactly like they would when buying packaged software, except here they
 pay first then get the software made rather than the other way around.

 You are insane if you think that system
 will be more efficient and more productive than the current copyright /
 capatilist one.
This /is/ a capitalist system. People invest in a product to suit their own needs - that's the very definition of capitalism.
If I dont own the product I am producing then no it's not a capatilist system. The fundamental mechanism in capatilism is private ownership, whether of physical or intellectual property.
 Even the obvious downside of the above plan: someone chooses not to invest
 hoping that someone else will and he still benefits, is purely capitalist.
 He is looking out for his own interests, trying to get the most product
 for the least amount of money.
Another obvious downside is that people dont like having to wait. They want the product now. So not only is it crippled by the problems of "design by commitiee", and the problems of "excesive administration", it's also crippled by the fact that consumers dont want to have to wait 12 months to get what they paid for.
 The counterbalance to this is that if he
 doesn't invest in it, he might not get what he wants, or it might not be
 created at all. So he has to make a decision.
So you expect customers are going to wander around the interent, investing money in lots of different projects that might or might not give them what they want in 6 months time? And then when half these schemes fail they are going to go chasing the developers up to get their money back? CUCKOO!
 If I was a software developer in such a world, I'd keep the current list
 of shareholders and amount of money I've been paid a secret. Then
 someone looking at the website doesn't know if he has to invest or not
 to get the product, so hopefully, he will, meaning I get a bit more
 profit.

 The customer is safe in donating to me, even if I don't get enough
 capital to make the product, since if I don't deliver, he can sue me for
 his money back.

 That is pure, unrestrained and safe competition in a wholly capitalist 
 system.
Look there's been nothing stopping businesses operating like that for decades, maybe even centuaries. If it did work, if it was so much better than the current system, we'd be talking about the multitude of businesses that do actualy work that way. And yet we're not.
Aug 18 2008
parent reply "Adam D. Ruppe" <destructionator gmail.com> writes:
On Mon, Aug 18, 2008 at 06:28:57PM +0100, Jb wrote:
 I know people who have done things like this. They get 1000s of downloads 
 and accaisionaly someone donates 5 bucks.
That's not the same. What I'm proposing is that the software plain isn't written if you don't get enough money up front. Downloading it isn't an option at all until the money is already paid, because before then, the software doesn't exist yet.
 The vast majority of people will not pay if they dont have to.
Right, so the trick is to make it so they think they have to. Tax season is coming up, and you really wish you had a program up to date with this year's tax code to help you out. Uh oh, no program exists, but there is a development company saying they'll make one if they get a total of $100,000 in investments. Someone else might pay for it, but everyone would think that, so the rational person has to assume that no one is going to pay for it, thus, the software will never be written and he won't be able to use it. Since he wants to use it, he must buy into the company. Of course, he can't afford $100k up front, and even if he could, it isn't worth that much to him, so he puts in a fraction of the total and hopes other people think the same way. If they do, good, they all get the product. If they don't, he can demand his money back, since the development company didn't deliver the product.
 It may work for massive projects, with tens or hundreds of thousands of 
 users, but for small to medium size enterprize it will never work. At least 
 not for anything but a handful of developers.
Valid: I could see it being very hard for someone with a poor reputation to get started, but that's again where the satisfaction guaranteed or your money back clause comes in. Potential investors have very little risk giving a new guy a chance, since they have little to lose if he fails.
 It's hard enough getting half a dozen people to decide on what features to 
 include in a prjoect they are all working on without having a couple of 
 hundred "investors" arguing over it as well.
Put a price on each feature. If you want feature A, you have to pay an additional $1000 total. Feature B is an additional $500. An investor says "well, feature A is worth $20 to me, so I'll buy it." If 50 other investors feel the same way, then feature A gets implemented - they paid for it, so they should get it. If not, then it doesn't happen. Adding a direct price up front for features is an easy way to keep them limited. You set the prices so features that you really don't think are a good idea cost more, to discourage people from buying them. Then if they do buy it, you still win, since you get more money.
 And actualy, if I had to bend to the whim of my customers on every single 
 thing my product would actualy be worse for it. It would be the worst case 
 of design by commitee ever.
Well, it is still your product, so you can always do it a different way. This is just a suggestion, just like copyright restrictions are a suggestion on how to make money.
 If I dont own the product I am producing then no it's not a capatilist 
 system. The fundamental mechanism in capatilism is private ownership, 
 whether of physical or intellectual property.
So construction contractors aren't capitalists? They don't own the building they were hired to build either. They do own their time and skill though, just like a software developer working as a contractor.
 Another obvious downside is that people dont like having to wait. They want 
 the product now.
Good point, and businesses could specialize in this. Someone could put up an offer saying that the software is already written, and if we receive X dollars, we'll release it. If not, we'll delete the whole thing. It is like selling the software, but doing so in such a way that piracy is impossible. By the time the program is out in the open so it can be pirated, the company already has their money and doesn't care anymore.
 So you expect customers are going to wander around the interent, investing 
 money in lots of different projects that might or might not give them what 
 they want in 6 months time?
So you expect customers are going to wander around the Internet, investing money in lots of different projects that might nor might not give them what they want when the download is complete? That's what copyrighted software as the product does and people are willing to do it.
 And then when half these schemes fail they are going to go chasing the 
 developers up to get their money back?
 
 CUCKOO!
It's their money, if they want to throw it away, fine. But if you invested money in something and you didn't get that something, you'd probably want your money back too, and since you have a contract (again, this isn't just a donation button I'm talking about), you can prove that you deserve it back to a court of law.
 Look there's been nothing stopping businesses operating like that for 
 decades, maybe even centuaries.
Yes, and things have been done that way for centuries. This isn't an original idea. How are buildings designed, constructed and maintained? One option there is a building as a product - you build it and wait for someone to come and buy it. I think that is how Donald Trump made his money. The other option is you wait for someone to hire you to build it to their specifications. This is how most construction companies and architecture firms make their money. -- Adam D. Ruppe http://arsdnet.net
Aug 18 2008
next sibling parent reply Benji Smith <dlanguage benjismith.net> writes:
Adam D. Ruppe wrote:
 Downloading it isn't an option at all until the money is already paid,
 because before then, the software doesn't exist yet.
 
 The vast majority of people will not pay if they dont have to.
Right, so the trick is to make it so they think they have to. Tax season is coming up, and you really wish you had a program up to date with this year's tax code to help you out. Uh oh, no program exists, but there is a development company saying they'll make one if they get a total of $100,000 in investments. Someone else might pay for it, but everyone would think that, so the rational person has to assume that no one is going to pay for it, thus, the software will never be written and he won't be able to use it.
Adam, you have some mind-bogglingly weird ideas about software development, creativity, sociology, economics, etc, etc. Last year, I downloaded TurboTax on April 14th. For about $25. Without joining a co-op or voting or features or pledging to pay for the future delivery of undeveloped software or anything like that. It was easier than buying a candy bar, and took less time. --benji
Aug 18 2008
parent "Adam D. Ruppe" <destructionator gmail.com> writes:
On Mon, Aug 18, 2008 at 03:41:14PM -0400, Benji Smith wrote:
 Last year, I downloaded TurboTax on April 14th. For about $25. 
Which means you gave them $25 in a vote saying you want them to make a product with similar features for next year. My scheme really isn't that different. -- Adam D. Ruppe http://arsdnet.net
Aug 18 2008
prev sibling next sibling parent reply "Jb" <jb nowhere.com> writes:
"Adam D. Ruppe" <destructionator gmail.com> wrote in message 
news:mailman.15.1219085627.19733.digitalmars-d puremagic.com...
 On Mon, Aug 18, 2008 at 06:28:57PM +0100, Jb wrote:
 I know people who have done things like this. They get 1000s of downloads
 and accaisionaly someone donates 5 bucks.
That's not the same. What I'm proposing is that the software plain isn't written if you don't get enough money up front.
I know I was just emphasising how reluctant people are to part with their money when they dont have to. And likewise how reluctant they still are even when they see a developer whose products they apparently use & love shutting up shop.
 The vast majority of people will not pay if they dont have to.
Right, so the trick is to make it so they think they have to. Tax season is coming up, and you really wish you had a program up to date with this year's tax code to help you out. Uh oh, no program exists, but there is a development company saying they'll make one if they get a total of $100,000 in investments.
Im sorry that just wont work. If you cant get people to donate for somthing they can download and use today, you wont get them to donate for somthing that they might or might not get in 6 months time. They will use the exact same rationale that they use already for pirating movies. Whether they pay or not will be a drop in the ocean. It'll make little difference if they buy into the scheme or not. So they may as well let other people do it.
 Someone else might pay for it, but everyone would think that, so the
 rational person has to assume that no one is going to pay for it, thus,
 the software will never be written and he won't be able to use it.
No the rational person would think "Look it's gonna take 10,000 people to get this up and running, whether I invest or not doesnt matter, and the developers are probably raking it in anyway" And on top of that I have no guarantee of what I will get. They could just code up some piece of crap and then I've wasted my money. And no, some kind of "quality validation" mechanism wouldnt work, it'd add so much pointless overhead and chaff to an already cumbersome and inneficient business model.
 Since he wants to use it, he must buy into the company. Of course, he 
 can't
 afford $100k up front, and even if he could, it isn't worth that much to 
 him,
 so he puts in a fraction of the total and hopes other people think the 
 same
 way.
Or he thinks "screw that" and looks elsewhere. <g>
 It may work for massive projects, with tens or hundreds of thousands of
 users, but for small to medium size enterprize it will never work. At 
 least
 not for anything but a handful of developers.
Valid: I could see it being very hard for someone with a poor reputation to get started, but that's again where the satisfaction guaranteed or your money back clause comes in. Potential investors have very little risk giving a new guy a chance, since they have little to lose if he fails.
What I'm saying is that your kind of scheme would require a very high number of investors. People will be far less willing to invest 100$ in somthing they might get 6 months from now than they will be to spend $100 on somthing they can download now, where they can try the demo and see if they like it. So for smaller enterpises where the number of customers and margins are already small. Your scheme simply would not work. I would be out of business in 6 months with you as my business adviser. Sorry. And yes it would make entry into the market much hard for new upstarts.
 It's hard enough getting half a dozen people to decide on what features 
 to
 include in a prjoect they are all working on without having a couple of
 hundred "investors" arguing over it as well.
Put a price on each feature. If you want feature A, you have to pay an additional $1000 total. Feature B is an additional $500. An investor says "well, feature A is worth $20 to me, so I'll buy it." If 50 other investors feel the same way, then feature A gets implemented - they paid for it, so they should get it. If not, then it doesn't happen. Adding a direct price up front for features is an easy way to keep them limited. You set the prices so features that you really don't think are a good idea cost more, to discourage people from buying them. Then if they do buy it, you still win, since you get more money.
Oh FFS.. why dont I just run a raffle or a tombola? I'd spend more time auctioning features, talking customers, running voting systems, managing who'd paid what, and who wants how much back because this or that didnt apear. I'd never have any time for programming.
 If I dont own the product I am producing then no it's not a capatilist
 system. The fundamental mechanism in capatilism is private ownership,
 whether of physical or intellectual property.
So construction contractors aren't capitalists? They don't own the building they were hired to build either. They do own their time and skill though, just like a software developer working as a contractor.
They *COULD* own it if they want. And a lot of small building contractors do do it this way. What you are doing is removing that possibility from them. You are forcing them to only do business as a service.
 Another obvious downside is that people dont like having to wait. They 
 want
 the product now.
Good point, and businesses could specialize in this. Someone could put up an offer saying that the software is already written, and if we receive X dollars, we'll release it. If not, we'll delete the whole thing.
And the customer will think "Heck they've already written it, they are going to release sooner or later because otherwise they loose every pennty of their investment"
 It is like selling the software, but doing so in such a way that piracy
 is impossible. By the time the program is out in the open so it can be 
 pirated,
 the company already has their money and doesn't care anymore.
It wont work... i think the donationware / honesty box model would probably work better than that would.
 So you expect customers are going to wander around the interent, 
 investing
 money in lots of different projects that might or might not give them 
 what
 they want in 6 months time?
So you expect customers are going to wander around the Internet, investing money in lots of different projects that might nor might not give them what they want when the download is complete?
They can download a demo and try it first. Or they have 14 day money back guarentee. Of they can sell the product to someone else.
 That's what copyrighted software as the product does and people are 
 willing
 to do it.
Except they can usualy try a demo. And they dont have to wait for months to get it. And once purchased the product still has intrinsic value. They can sell it on to someone else. Whereas with your model the software is worthless to the customer, it has no resale value because now anyone can download and use it for free.
 And then when half these schemes fail they are going to go chasing the
 developers up to get their money back?

 CUCKOO!
It's their money, if they want to throw it away, fine. But if you invested money in something and you didn't get that something, you'd probably want your money back too, and since you have a contract (again, this isn't just a donation button I'm talking about), you can prove that you deserve it back to a court of law.
Yes and how often do consumers take companies to court over a 50$ payment? And say I'm a budding record producer, and I've bought into 15 of these schemes in the last year. 7 still havnt turned up the goods. Am i going to go round chassing up all these microdonations? Dont we have enough shit to do in our lifes with out complicating the purchase of software to such an extent that I have to keep track of all my investments, and the promises and requestes I made for each one?
 Look there's been nothing stopping businesses operating like that for
 decades, maybe even centuaries.
Yes, and things have been done that way for centuries. This isn't an original idea.
Lots of them? Are there lots of businesses working this way? Nope.
 How are buildings designed, constructed and maintained? One option there
 is a building as a product - you build it and wait for someone to come and
 buy it. I think that is how Donald Trump made his money.
Yes and this is still how it's done in the vast majority of cases.
 The other option is you wait for someone to hire you to build it to their
 specifications. This is how most construction companies and architecture
 firms make their money.
A bad analogy. Do we see hundreds of people clubbing togther in order to finance the building of residential tower blocks, or residential estates? No we dont. We do see big companies comissioning buildings, or developments. But that is actualy little different from big companies commisioning custom made software. Sure it happens, but in the vast majoirty of cases people / businesses dont need custom made software. So that model doesnt work because it's many orders of magnitude cheaper for it to be produced via the generic product based model.
Aug 18 2008
parent "Adam D. Ruppe" <destructionator gmail.com> writes:
This is taking way more time than I bargained for, so this will probably
be my last word on the subject. I have real work I need to be doing.

My plan isn't at all as radical as it might look. In practice, I would
expect something like this:

  Liked 1.0? Pre-order 2.0 now, and remember, if we don't get enough
  pre-orders, 2.0 will never be released, and this is no bluff.

I say we come back to this debate in ten years and see what has happened.
I'm willing to guess that regardless of our personal opinions on copyright
in principle, the fact is that it will lose its effectiveness as piracy
continues to grow and it doesn't look like piracy will stop growing.

My plan might be a way around this, and it might not be. Heck, most businesses
fail even in the best of times, and this would likely be no exception. Either 
way, software as a product like we see now is something I expect to be dead
or mostly dead by 2020 and something will take its place.

The reality is it looks like piracy is here to stay. We need to make the
best of that fact if we want to survive in the business of programming.

If I'm wrong, you'll have my full concession in the next decade  :)

-- 
Adam D. Ruppe
http://arsdnet.net
Aug 18 2008
prev sibling parent Jussi Jumppanen <jussij zeusedit.com> writes:
Adam D. Ruppe Wrote:

 but there is a development company saying they'll make 
 one if they get a total of $100,000 in investments.
The $100,000 is the about enough to pay the wage of one developer for about one year. Once you add in a few Tax specialist to do the design, a few more developers, some QA people and someone to write the documentation, the wages bill would be much closer to the $1,000,000 mark.
Aug 18 2008
prev sibling parent Mike Parker <aldacron gmail.com> writes:
Adam D. Ruppe wrote:
 On Sun, Aug 17, 2008 at 06:58:13PM +0100, Jb wrote:
 I think the mistake you and Yigal are making is assuming that it should all 
 be done in the same way.
My own position is may be a little weird. As far as rights to information goes, there are a two: 1) You cannot force someone to divulge anything. Thus, he is free to charge someone for a piece of information if he wants. 2) You cannot force someone /not/ to divulge something. Thus, once you tell someone something, he is free to resell it if he wants. In short, I'm saying a person can choose to tell or not tell whatever he wants. We are definitely in agreement on point #1. Copyright directly restricts point #2 - it forces people to not divulge something they know, lest they face undesirable consequences.
Copyright has no relevance to the spread of information. That's what NDAs and opaque governments are for. You are absolutely free to divulge anything and everything you know about copyrighted material. You just can't copy if for distribution. Go ahead, write an essay describing the inner workings of the copyrighted software you've reverse engineered so that others can recreate it. You'll violate no copyright by doing so (and no need to mention the DMCA -- that's nothing to do with copyright and everything to do with corporate bottom lines). That's information and you are at total liberty to spread it as you see fit. The software itself is *not* information.
Aug 17 2008
prev sibling parent reply Lars Ivar Igesund <larsivar igesund.net> writes:
bobef wrote:

 Anyway. In my opinion it comes down to greed cause no one is stealing
 anything. Just some people are not willing to share although they are not
 losing anything. And to lose something you must own it. So you can't lose
 a million dollars of sales because you haven't sold anything in the first
 place. If authors were more conscious (less greedy) they would share
 because if the users were more conscious (less living in a society where
 everyone wants to *make you* pay for something) they would show gratitude
 by paying.
So in effect you are saying that software developers expecting to live of it are silly, because the rest in general are dishonest? -- Lars Ivar Igesund blog at http://larsivi.net DSource, #d.tango & #D: larsivi Dancing the Tango
Aug 15 2008
parent bobef <bobef nosmap-abv.bg> writes:
Lars Ivar Igesund Wrote:

 bobef wrote:
 
 Anyway. In my opinion it comes down to greed cause no one is stealing
 anything. Just some people are not willing to share although they are not
 losing anything. And to lose something you must own it. So you can't lose
 a million dollars of sales because you haven't sold anything in the first
 place. If authors were more conscious (less greedy) they would share
 because if the users were more conscious (less living in a society where
 everyone wants to *make you* pay for something) they would show gratitude
 by paying.
So in effect you are saying that software developers expecting to live of it are silly, because the rest in general are dishonest?
Haha. I didn't say they are silly. But it is a fact that people in general are dishonest so it becomes harder (as many other things) :) I am saying that developers need to adapt. If they treat software as chairs they may fail to live of their work. I am developer and I live (mostly) of it so it still possible. Dishonest or not this is not stealing. It sucks if you make a lot of effort for something and nobody buys it, I know. But fist of all examine the quality of what you are selling. People are not buying effort but results. Then if you think (I don't mean personally you) you are selling a good product and people are still pirating it, then the dishonesty could be the case. And then the one who did the effort becomes emotional and all of that, but at the end everyone should be happy, because at least one of the parties got something (without depriving the other party of anything). It is better for someone to make use of the work, although he didn't buy it, than neither using it nor buying it. And the important point that is somehow related to the topic: this licensing stuff IMO is waste of time. Nobody can blame Phobos/Tango for stealing because nothing is stolen. But I think Walter has point about corporate lawyers and all of that, because these people care only about the money, not about the logic about stealing or not stealing. Lol. Regards, bobef
Aug 15 2008
prev sibling next sibling parent Lutger <lutger.blijdestijn gmail.com> writes:
Robert Fraser wrote:
...
 I see the D community heading for a split. One side will be D1 (hopefully
 a D 1.5) +tango, and the other side will be D2+phobos.  I don't think of
 this as a bad thing nessescarily, just two different directions.
I find this all to be a bit confusing. A 'split' was kind of inevitable since the D2 branch and the phobos / tango division. (Actually since D2 there was more unification for a while, because a stable version of D didn't exist before.) But this kind of split was (is?) also something temporary and had workarounds (tangobos). At least I perceived it as temporary, until now. What do you mean by a D 1.5? This all gives the vague impression there is a movement towards forking the language itself. That's not a split in the D community, more like part of the D community saying goodbye and starting their own language with a seperate community. I hope I'm wrong here, but would like to know if this is the case or intent.
Aug 14 2008
prev sibling parent Bruno Medeiros <brunodomedeiros+spam com.gmail> writes:
Robert Fraser wrote:
 Sean Kelly Wrote:
 
 == Quote from Moritz Warning (moritzwarning web.de)'s article
 On Wed, 13 Aug 2008 15:29:45 +0400, Denis Koroskin wrote:
 The biggest issue is diffent Tango and Phobos runtime implementation, I
 think.
 I didn't find any bugzilla reports on this subject, though. :(
I haven't taken a look at those runtime implementation differences, but I wonder why there are no activities to solve this issue. It makes it look like the participants are playing the golden throne game...
Unfortunately, for this to be resolved it requires cooperation from both sides. It takes two to Tango, as they say (sorry, bad joke). Sean
I see the D community heading for a split. One side will be D1 (hopefully a D 1.5) +tango, and the other side will be D2+phobos. I don't think of this as a bad thing nessescarily, just two different directions.
Oh, it would definitely be bad, that's for sure. Any such duplication of effort in a developing language such as D would be very harmful. Having two standard libraries is already bad IMO, but having each standard library force the use of a particular D language version... now that would be disastrous! -- Bruno Medeiros - Software Developer, MSc. in CS/E graduate http://www.prowiki.org/wiki4d/wiki.cgi?BrunoMedeiros#D
Aug 15 2008
prev sibling parent reply Walter Bright <newshound1 digitalmars.com> writes:
Sean Kelly wrote:
 Unfortunately, for this to be resolved it requires cooperation from both
 sides.  It takes two to Tango, as they say (sorry, bad joke).
For my part, I have explicitly allowed the Tango team to look at, use and incorporate any part of Phobos into Tango without prejudice and release it under the Tango license (excluding stuff that I didn't write that has its own copyright license terms). A lot of the new stuff, such as the array op code are even in the public domain to make it super easy. In order for Phobos to move towards compatibility, I need a reciprocal statement from the Tango team. The Tango license does not allow this, and I try to be very careful in making sure Phobos is clean from a legal standpoint. Sean and Don have been most generous in offering such, but the rest of the Tango team have not been willing to, and they have every right to not do so, but it does stand in the way of cooperation. P.S. The reason for the relicense when code is transferred is to avoid the untenable situation of one module in the library having different licenses for different sections of code.
Aug 13 2008
parent reply Brad Roberts <braddr bellevue.puremagic.com> writes:
On Wed, 13 Aug 2008, Walter Bright wrote:

 Date: Wed, 13 Aug 2008 14:32:32 -0700
 From: Walter Bright <newshound1 digitalmars.com>
 Reply-To: digitalmars.D <digitalmars-d puremagic.com>
 To: digitalmars-d puremagic.com
 Newsgroups: digitalmars.D
 Subject: Re: Tango vs Phobos
 
 Sean Kelly wrote:
 Unfortunately, for this to be resolved it requires cooperation from both
 sides.  It takes two to Tango, as they say (sorry, bad joke).
For my part, I have explicitly allowed the Tango team to look at, use and incorporate any part of Phobos into Tango without prejudice and release it under the Tango license (excluding stuff that I didn't write that has its own copyright license terms). A lot of the new stuff, such as the array op code are even in the public domain to make it super easy. In order for Phobos to move towards compatibility, I need a reciprocal statement from the Tango team. The Tango license does not allow this, and I try to be very careful in making sure Phobos is clean from a legal standpoint. Sean and Don have been most generous in offering such, but the rest of the Tango team have not been willing to, and they have every right to not do so, but it does stand in the way of cooperation. P.S. The reason for the relicense when code is transferred is to avoid the untenable situation of one module in the library having different licenses for different sections of code.
Additionally, Sean has had commit access to phobos for well over a year. As far as I can recall, there's been no submits. I did a good bit of unification of the thread model at one point (though far from complete), and was accused of stealing code from Tango (no, I'm not going to try to dig up exact quotes). It left a rather sour taste in my mouth at which point my enthusiasm was somewhat diminished. I let the license issue further stall any effort on my part. I hate airing dirty laundry, so I hope this to be my one and only post on the topic. Sigh, Brad
Aug 13 2008
next sibling parent reply Brad Roberts <braddr bellevue.puremagic.com> writes:
On Wed, 13 Aug 2008, Brad Roberts wrote:

 As far as I can recall, there's been no submits.  I did a good bit of 
 unification of the thread model at one point (though far from complete), 
 and was accused of stealing code from Tango (no, I'm not going to try to 
 dig up exact quotes).
Sorry.. the implication was that Sean made the accusations which isn't the case. He was very helpful in integrating the changes and reviewing both the tango and phobos changes that I made -- obviously far more on the phobos side. Sigh, Brad
Aug 13 2008
parent Sean Kelly <sean invisibleduck.org> writes:
Brad Roberts wrote:
 On Wed, 13 Aug 2008, Brad Roberts wrote:
 
 As far as I can recall, there's been no submits.  I did a good bit of 
 unification of the thread model at one point (though far from complete), 
 and was accused of stealing code from Tango (no, I'm not going to try to 
 dig up exact quotes).
Sorry.. the implication was that Sean made the accusations which isn't the case. He was very helpful in integrating the changes and reviewing both the tango and phobos changes that I made -- obviously far more on the phobos side.
As an aside... that code change review tool you had set up on PureMagic was super cool. Sean
Aug 14 2008
prev sibling next sibling parent Lars Ivar Igesund <larsivar igesund.net> writes:
Brad Roberts wrote:

 On Wed, 13 Aug 2008, Walter Bright wrote:
 
 Date: Wed, 13 Aug 2008 14:32:32 -0700
 From: Walter Bright <newshound1 digitalmars.com>
 Reply-To: digitalmars.D <digitalmars-d puremagic.com>
 To: digitalmars-d puremagic.com
 Newsgroups: digitalmars.D
 Subject: Re: Tango vs Phobos
 
 Sean Kelly wrote:
 Unfortunately, for this to be resolved it requires cooperation from
 both
 sides.  It takes two to Tango, as they say (sorry, bad joke).
For my part, I have explicitly allowed the Tango team to look at, use and incorporate any part of Phobos into Tango without prejudice and release it under the Tango license (excluding stuff that I didn't write that has its own copyright license terms). A lot of the new stuff, such as the array op code are even in the public domain to make it super easy. In order for Phobos to move towards compatibility, I need a reciprocal statement from the Tango team. The Tango license does not allow this, and I try to be very careful in making sure Phobos is clean from a legal standpoint. Sean and Don have been most generous in offering such, but the rest of the Tango team have not been willing to, and they have every right to not do so, but it does stand in the way of cooperation. P.S. The reason for the relicense when code is transferred is to avoid the untenable situation of one module in the library having different licenses for different sections of code.
Additionally, Sean has had commit access to phobos for well over a year. As far as I can recall, there's been no submits. I did a good bit of unification of the thread model at one point (though far from complete), and was accused of stealing code from Tango (no, I'm not going to try to dig up exact quotes). It left a rather sour taste in my mouth at which point my enthusiasm was somewhat diminished. I let the license issue further stall any effort on my part. I hate airing dirty laundry, so I hope this to be my one and only post on the topic.
To be fair, there was anger at the approach chosen on your side when starting with this work, and too strong words may have been used, and if I was guilty, I am sorry for that. As it was, we didn't in any way feel that what happened in any way reflected what we talked to Walter about at the conference. -- Lars Ivar Igesund blog at http://larsivi.net DSource, #d.tango & #D: larsivi Dancing the Tango
Aug 14 2008
prev sibling parent Sean Kelly <sean invisibleduck.org> writes:
Brad Roberts wrote:
 On Wed, 13 Aug 2008, Walter Bright wrote:
 
 Date: Wed, 13 Aug 2008 14:32:32 -0700
 From: Walter Bright <newshound1 digitalmars.com>
 Reply-To: digitalmars.D <digitalmars-d puremagic.com>
 To: digitalmars-d puremagic.com
 Newsgroups: digitalmars.D
 Subject: Re: Tango vs Phobos

 Sean Kelly wrote:
 Unfortunately, for this to be resolved it requires cooperation from both
 sides.  It takes two to Tango, as they say (sorry, bad joke).
For my part, I have explicitly allowed the Tango team to look at, use and incorporate any part of Phobos into Tango without prejudice and release it under the Tango license (excluding stuff that I didn't write that has its own copyright license terms). A lot of the new stuff, such as the array op code are even in the public domain to make it super easy. In order for Phobos to move towards compatibility, I need a reciprocal statement from the Tango team. The Tango license does not allow this, and I try to be very careful in making sure Phobos is clean from a legal standpoint. Sean and Don have been most generous in offering such, but the rest of the Tango team have not been willing to, and they have every right to not do so, but it does stand in the way of cooperation. P.S. The reason for the relicense when code is transferred is to avoid the untenable situation of one module in the library having different licenses for different sections of code.
Additionally, Sean has had commit access to phobos for well over a year. As far as I can recall, there's been no submits. I did a good bit of unification of the thread model at one point (though far from complete), and was accused of stealing code from Tango (no, I'm not going to try to dig up exact quotes). It left a rather sour taste in my mouth at which point my enthusiasm was somewhat diminished. I let the license issue further stall any effort on my part.
I don't even have time to maintain the Tango runtime, let alone the Phobos runtime as well. And I honestly don't know what I should change given that I don't know what the plan is for the Phobos runtime. As for accusations about stealing code, I will only say that I never made any such accusations. But I do recall some contention at the time for your having full commit rights to Tango, etc, so I do understand your concern. Sean
Aug 14 2008
prev sibling parent Jason House <jason.james.house gmail.com> writes:
Nick B Wrote:

 Lars Ivar Igesund wrote:
 dsimcha wrote:
 
 What about, at least initially, releasing a subset of Tango for D2 and
 gradually
 porting more as issues are fixed?  For example, just for now, just release
 whatever subset of Tango is high-level enough to run on top of the D2
 Phobos runtime and isn't plagued too severely by const issues, even if it
 doesn't mesh
 perfectly, i.e. requires some casting, etc. on the part of client code. 
There isn't really a subset of Tango that can run on top of any Phobos runtime. The Tango runtime probably works fine with D2 without any major changes, it is the user library that is problematic. The work on the porting has begun in a branch in Tango's svn repository, but cannot be continued properly until certain issues are fixed.
 I'm not really sure, but I would guess that this would leave a reasonably
 large subset with plenty of useful things.

 To be honest, I'm not sure how feasible this is, but I thought I would
 throw it
 out there as a suggestion.  Tango is a huge library with tons of nice
 stuff, and it seems like a shame that D2 users can't use any of it if only
 parts of it are broken.
It is typically the behaviour of certain core parts (text manipulation, io) that doesn't work properly, and so most of the other parts of Tango won't work either. Right now it isn't really compilable either if I understand correctly. But we got people on it! :) Really, it would be swell if Tango could work with D2, but currently D2 is not usable for a library like Tango.
So what is the plan to resolve these creative differences ? When is the Tango team and Walter going to get in the same room to thrash though these differences, because if these issues are not resolved, then the split will get wider, and wider. Finally, both communities will go their separate ways, and the community (both D and Tango) will burn and die.
I recognize a number of core Tango folks participating in this thread. I find it very telling that Walter has not found this thread sufficiently interesting to reply.
Aug 13 2008
prev sibling parent reply Walter Bright <newshound1 digitalmars.com> writes:
Lars Ivar Igesund wrote:
 There isn't really a subset of Tango that can run on top of any Phobos
 runtime. The Tango runtime probably works fine with D2 without any major
 changes, it is the user library that is problematic. The work on the
 porting has begun in a branch in Tango's svn repository, but cannot be
 continued properly until certain issues are fixed.
I don't understand. I fixed the one issue you identified to me that was impeding Tango on D2 (Bugzilla 1644, and 2204 is the same). What else is there?
Aug 13 2008
parent reply Lars Ivar Igesund <larsivar igesund.net> writes:
Walter Bright wrote:

 Lars Ivar Igesund wrote:
 There isn't really a subset of Tango that can run on top of any Phobos
 runtime. The Tango runtime probably works fine with D2 without any major
 changes, it is the user library that is problematic. The work on the
 porting has begun in a branch in Tango's svn repository, but cannot be
 continued properly until certain issues are fixed.
I don't understand. I fixed the one issue you identified to me that was impeding Tango on D2 (Bugzilla 1644, and 2204 is the same). What else is there?
I wasn't aware that 2204 was a duplicate of 1644, and I guess Steven wasn't either. If there are no further stumbling blocks, all are great :) Although, clearly, the better solution would be fixing Bugzilla 1961, 1644 is only a workaround for that. -- Lars Ivar Igesund blog at http://larsivi.net DSource, #d.tango & #D: larsivi Dancing the Tango
Aug 14 2008
next sibling parent "Denis Koroskin" <2korden gmail.com> writes:
On Thu, 14 Aug 2008 12:02:46 +0400, Lars Ivar Igesund  
<larsivar igesund.net> wrote:

 Walter Bright wrote:

 Lars Ivar Igesund wrote:
 There isn't really a subset of Tango that can run on top of any Phobos
 runtime. The Tango runtime probably works fine with D2 without any  
 major
 changes, it is the user library that is problematic. The work on the
 porting has begun in a branch in Tango's svn repository, but cannot be
 continued properly until certain issues are fixed.
I don't understand. I fixed the one issue you identified to me that was impeding Tango on D2 (Bugzilla 1644, and 2204 is the same). What else is there?
I wasn't aware that 2204 was a duplicate of 1644, and I guess Steven wasn't either. If there are no further stumbling blocks, all are great :) Although, clearly, the better solution would be fixing Bugzilla 1961, 1644 is only a workaround for that.
Too bad 2204 was marked as an acceptable solution :)
Aug 14 2008
prev sibling parent reply "Steven Schveighoffer" <schveiguy yahoo.com> writes:
"Lars Ivar Igesund" wrote
 Walter Bright wrote:

 Lars Ivar Igesund wrote:
 There isn't really a subset of Tango that can run on top of any Phobos
 runtime. The Tango runtime probably works fine with D2 without any major
 changes, it is the user library that is problematic. The work on the
 porting has begun in a branch in Tango's svn repository, but cannot be
 continued properly until certain issues are fixed.
I don't understand. I fixed the one issue you identified to me that was impeding Tango on D2 (Bugzilla 1644, and 2204 is the same). What else is there?
I wasn't aware that 2204 was a duplicate of 1644, and I guess Steven wasn't either. If there are no further stumbling blocks, all are great :) Although, clearly, the better solution would be fixing Bugzilla 1961, 1644 is only a workaround for that.
In fact, I wasn't aware. 2204 was a legitimate bug, which worked in D 2.007. 1644 was an enhancement request, I didn't really consider it a bug, but it did not work in 2.007. So I viewed them as separate issues. Of course, it's entirely possible that in adding the 1644 enhancement, the 2204 bug also got fixed. I'll check it (haven't had a chance yet to try out the new D2). I also would have preferred 1961, but I understand the preference for 1644 as 1961 would be a huge feature change. I still think 1961 is a worthwhile enhancement, but I don't think it blocks D2/Tango development at this time. I will check the status of these bugs soon. The benefits of 1961: Not a template solution. Ability to not munge the caller's const contract. -Steve
Aug 14 2008
parent "Steven Schveighoffer" <schveiguy yahoo.com> writes:
"Steven Schveighoffer" wrote
 In fact, I wasn't aware.  2204 was a legitimate bug, which worked in D 
 2.007.  1644 was an enhancement request, I didn't really consider it a 
 bug, but it did not work in 2.007.  So I viewed them as separate issues.

 Of course, it's entirely possible that in adding the 1644 enhancement, the 
 2204 bug also got fixed.  I'll check it (haven't had a chance yet to try 
 out the new D2).
Confirmed that both issues are fixed in 2.018, at least for the given test cases. I'll work on trying to port the Tango branch again :) -Steve
Aug 15 2008
prev sibling parent reply Bruno Medeiros <brunodomedeiros+spam com.gmail> writes:
Sean Kelly wrote:
 == Quote from bearophile (bearophileHUGS lycos.com)'s article
 Sean Kelly:
 I would prefer that the old behavior the the default and that "new &fn"
 or something similar would be used for full closures.
We have already discussed why this is negative, when practically possible in D the default has to be
the "safer" version (what "safer" is can be debated). It's just a matter of opinion, I suppose. As D is a systems language, I don't agree with many arguments about safety when that safety conflicts with my ability to control what the language is doing behind the scenes. Portability between versions is also an issue--code that is correctly designed for D 1.0 may be unusable on D 2.0 because the default behavior for certain language features is different, although the syntax is still completely legal. Also, there isn't any way to easily grep for the use of delegates so finding such trouble spots requires a manual code review.
But does delegate usage cause that much erroneous outer variable heap allocation? (by erroneous, I mean in situations were it would not be necessary) Or is the problem here that you are afraid that the developer might make a mistake were he would create a delegate that would capture an outer variable (and thus heap allocate it), but the developer would not notice it? Would a semantic tool that detects delegate's outer variables (ie, the heap-allocated local variables) be useful? I think it wouldn't be too hard to create such functionality in Descent/Mmrnmhrm. -- Bruno Medeiros - Software Developer, MSc. in CS/E graduate http://www.prowiki.org/wiki4d/wiki.cgi?BrunoMedeiros#D
Aug 15 2008
parent reply Sean Kelly <sean invisibleduck.org> writes:
Bruno Medeiros wrote:
 Sean Kelly wrote:
 == Quote from bearophile (bearophileHUGS lycos.com)'s article
 Sean Kelly:
 I would prefer that the old behavior the the default and that "new &fn"
 or something similar would be used for full closures.
We have already discussed why this is negative, when practically possible in D the default has to be
the "safer" version (what "safer" is can be debated). It's just a matter of opinion, I suppose. As D is a systems language, I don't agree with many arguments about safety when that safety conflicts with my ability to control what the language is doing behind the scenes. Portability between versions is also an issue--code that is correctly designed for D 1.0 may be unusable on D 2.0 because the default behavior for certain language features is different, although the syntax is still completely legal. Also, there isn't any way to easily grep for the use of delegates so finding such trouble spots requires a manual code review.
But does delegate usage cause that much erroneous outer variable heap allocation? (by erroneous, I mean in situations were it would not be necessary)
From what I've been told, it does. But I haven't personally tested D 2.0 enough to say.
 Or is the problem here that you are afraid that the developer might make 
 a mistake were he would create a delegate that would capture an outer 
 variable (and thus heap allocate it), but the developer would not notice 
 it?
No. My issue is simply with performance guarantees.
 Would a semantic tool that detects delegate's outer variables (ie, the 
 heap-allocated local variables) be useful? I think it wouldn't be too 
 hard to create such functionality in Descent/Mmrnmhrm.
Not sure. I'd have to look into how the compiler decides whether to heap allocate before saying. Sean
Aug 15 2008
parent reply Bruno Medeiros <brunodomedeiros+spam com.gmail> writes:
Sean Kelly wrote:
 Bruno Medeiros wrote:
 But does delegate usage cause that much erroneous outer variable heap 
 allocation? (by erroneous, I mean in situations were it would not be 
 necessary)
From what I've been told, it does. But I haven't personally tested D 2.0 enough to say.
Is there any bug report or code sample of such situation? I recall you mentioning this problem before, but I haven't seen any concrete example so far. (not saying there isn't ;) )
 Or is the problem here that you are afraid that the developer might 
 make a mistake were he would create a delegate that would capture an 
 outer variable (and thus heap allocate it), but the developer would 
 not notice it?
No. My issue is simply with performance guarantees.
Guarentees by the D spec itself? -- Bruno Medeiros - Software Developer, MSc. in CS/E graduate http://www.prowiki.org/wiki4d/wiki.cgi?BrunoMedeiros#D
Aug 18 2008
next sibling parent reply Lars Ivar Igesund <larsivar igesund.net> writes:
Bruno Medeiros wrote:

 Sean Kelly wrote:
 Bruno Medeiros wrote:
 But does delegate usage cause that much erroneous outer variable heap
 allocation? (by erroneous, I mean in situations were it would not be
 necessary)
From what I've been told, it does. But I haven't personally tested D 2.0 enough to say.
Is there any bug report or code sample of such situation? I recall you mentioning this problem before, but I haven't seen any concrete example so far. (not saying there isn't ;) )
I believe others have shown that it can disrupt normal running. -- Lars Ivar Igesund blog at http://larsivi.net DSource, #d.tango & #D: larsivi Dancing the Tango
Aug 18 2008
parent reply Bruno Medeiros <brunodomedeiros+spam com.gmail> writes:
Lars Ivar Igesund wrote:
 Bruno Medeiros wrote:
 
 Sean Kelly wrote:
 Bruno Medeiros wrote:
 But does delegate usage cause that much erroneous outer variable heap
 allocation? (by erroneous, I mean in situations were it would not be
 necessary)
From what I've been told, it does. But I haven't personally tested D 2.0 enough to say.
Is there any bug report or code sample of such situation? I recall you mentioning this problem before, but I haven't seen any concrete example so far. (not saying there isn't ;) )
I believe others have shown that it can disrupt normal running.
I was asking for a piece of code were the compiler would unnecessarily heap-allocate a local (and not a situation where doing so would botch up a program). But in reading Frank Benoit's post in the full closure thread below, I've already seen one meanwhile. I didn't know the compiler heap-allocated a local in every situation where a local is used as an outer variable. That indeed puts a serious burden on the use of scoped closures :( -- Bruno Medeiros - Software Developer, MSc. in CS/E graduate http://www.prowiki.org/wiki4d/wiki.cgi?BrunoMedeiros#D
Aug 18 2008
parent reply Walter Bright <newshound1 digitalmars.com> writes:
Bruno Medeiros wrote:
 But in reading Frank Benoit's post in the full closure thread below, 
 I've already seen one meanwhile. I didn't know the compiler 
 heap-allocated a local in every situation where a local is used as an 
 outer variable. That indeed puts a serious burden on the use of scoped 
 closures :(
It doesn't do it in every situation. It does it in a situation where a pointer is taken to a function that accesses it.
Aug 18 2008
parent Bruno Medeiros <brunodomedeiros+spam com.gmail> writes:
Walter Bright wrote:
 Bruno Medeiros wrote:
 But in reading Frank Benoit's post in the full closure thread below, 
 I've already seen one meanwhile. I didn't know the compiler 
 heap-allocated a local in every situation where a local is used as an 
 outer variable. That indeed puts a serious burden on the use of scoped 
 closures :(
It doesn't do it in every situation. It does it in a situation where a pointer is taken to a function that accesses it.
Hum, that's right, I hadn't noticed. My previous comment was due to the fact that I was always experimenting with delegate literals. And unfortunately a delegate literal itself counts as "taking a pointer to a function", so any outer variable used in a delegate literal will be allocated. :/ -- Bruno Medeiros - Software Developer, MSc. in CS/E graduate http://www.prowiki.org/wiki4d/wiki.cgi?BrunoMedeiros#D
Aug 25 2008
prev sibling parent Sean Kelly <sean invisibleduck.org> writes:
Bruno Medeiros wrote:
 Sean Kelly wrote:
 Bruno Medeiros wrote:
 But does delegate usage cause that much erroneous outer variable heap 
 allocation? (by erroneous, I mean in situations were it would not be 
 necessary)
From what I've been told, it does. But I haven't personally tested D 2.0 enough to say.
Is there any bug report or code sample of such situation? I recall you mentioning this problem before, but I haven't seen any concrete example so far. (not saying there isn't ;) )
 Or is the problem here that you are afraid that the developer might 
 make a mistake were he would create a delegate that would capture an 
 outer variable (and thus heap allocate it), but the developer would 
 not notice it?
No. My issue is simply with performance guarantees.
Guarentees by the D spec itself?
No, guarantees by Tango. Like how the STL provides "big O" guarantees for its algorithms. Sean
Aug 18 2008
prev sibling next sibling parent reply Frank Benoit <keinfarbton googlemail.com> writes:
Sean Kelly schrieb:
 
 3.) the closures are not really closures. E.g. const variables can 
 change value. (Bug 2043)
This one, at least, is clearly a bug.
I think this is not a bug in the compiler. Instead it shows the bug in the concept. The concept is "simply allocate the whole stack frame on the heap". But it turns out to be not sufficient. Now what? Heap allocated each scope also? for every loop iteration?
Aug 11 2008
parent Sean Kelly <sean invisibleduck.org> writes:
== Quote from Frank Benoit (keinfarbton googlemail.com)'s article
 Sean Kelly schrieb:
 3.) the closures are not really closures. E.g. const variables can
 change value. (Bug 2043)
This one, at least, is clearly a bug.
I think this is not a bug in the compiler. Instead it shows the bug in the concept. The concept is "simply allocate the whole stack frame on the heap". But it turns out to be not sufficient. Now what? Heap allocated each scope also? for every loop iteration?
Yup. It's essentially the same as heap allocating for the scope created by a function call. I imagine the hope is that compiler introspection would be able to figure out when such allocations are necessary and when only one would suffice. Barring that, the programmer would need some way of indicating this to the compiler, which is something we need anyway as always heap allocating in a systems language renders delegates unusable for certain classes of application. Sean
Aug 11 2008
prev sibling parent "Koroskin Denis" <2korden gmail.com> writes:
On Mon, 11 Aug 2008 22:39:56 +0400, Sean Kelly <sean invisibleduck.org>  
wrote:

 Frank Benoit wrote:
 Jarrett Billingsley schrieb:
 "Lars Ivar Igesund" <larsivar igesund.net> wrote in message  
 news:g7mboq$qcl$1 digitalmars.com...

 Also as long as closures are allocated on stack, that is likely to be  
 rather
 detrimental to the performance.
Heap. That is another major blocker for me besides const. Most of my code uses nested functions that are never supposed to be closures, and this "feature" would cause it all to unnecessarily allocate memory.
i second that. It is an closure solution which was implemented too easy, imho. 1.) it breaks the semantic of an existing syntax. So existing code can be broken without any warning. (change in runtime behaviour)
Yup. Much like the change in meaning of "const," which I've admittedly complained about perhaps overmuch.
 2.) there is still no alternative syntax to get the old behaviour
I would prefer that the old behavior the the default and that "new &fn" or something similar would be used for full closures.
If I understand the issue correctly, it's not a delegate itself that should be allocated on heap but rather a function context (i.e. local variables): auto foo() { int i = 0; int bar() { return ++i; } return &bar; } It's clear enough that i should be allocated on heap. On the other side, there is a scope modifier, that doesn't allow returning of pointer to the attributed variable: auto foo() { scope Bar bar = new Bar(); return bar; // illegal } So these variables should be allocated on stack in any case, even for delegates: auto foo() { scope Bar bar = new Bar(); Bar foobar() { return bar; } doSomething(&foobar); // legal (unless foobar is saved somewhere in global scope) return &foobar; // illegal } Note that bar is a scoped variable and isn't supposed to be heap allocated. So a solution would be to allow marking built-in type and struct instances as scope, too, and those variable won't be heap allocated. The default one, however, would be non-scope, i.e. heap-allocated. It fits perfectly with current semantics, it allows marking of some variables as heap- others as scope-allocated (flexibility), it doesn't introduce any new keywords or concepts.
 3.) the closures are not really closures. E.g. const variables can  
 change value. (Bug 2043)
This one, at least, is clearly a bug. Sean
Aug 12 2008
prev sibling parent Lars Ivar Igesund <larsivar igesund.net> writes:
Jarrett Billingsley wrote:

 "Lars Ivar Igesund" <larsivar igesund.net> wrote in message
 news:g7mboq$qcl$1 digitalmars.com...
 
 Also as long as closures are allocated on stack, that is likely to be
 rather
 detrimental to the performance.
Heap.
Heap. Stack. Hack. Ehrm ... sorry ... -- Lars Ivar Igesund blog at http://larsivi.net DSource, #d.tango & #D: larsivi Dancing the Tango
Aug 10 2008
prev sibling parent reply "Koroskin Denis" <2korden gmail.com> writes:
On Sun, 10 Aug 2008 13:18:20 +0400, Lars Ivar Igesund  
<larsivar igesund.net> wrote:

 Nick B wrote:

 Sean

 So what is the plan to transition Tango to D2.0 ?

 Is the Tango team waiting for const to be removed from D2.0, or will
 Tango continue to use D1.0 forever, or is the team waiting to see the
 final form of D2.0 before deciding what to do ?
We don't expect const to be removed :) As it is, this must be resolved before it is possible to properly port Tango: http://d.puremagic.com/issues/show_bug.cgi?id=2267 1644 was fixed now, but is in our opinion the lesser solution to the problem - we'd much rather have 1961. 2204 is still open I think. Also as long as closures are allocated on stack, that is likely to be rather detrimental to the performance. Once we have a resolution on that, work on the Tango D 2.0 branch will probably continue, and this branch will be available to all who need it. If possible, an official release may happen shortly after the time Walter calls D 2.0 to be stable. One other concern is that it is almost impossible to have code that is both D1 and D2 compatible, something which mean the mantainance of two branches, a potentially daunting task - it would be good if the "syntactical correctness" restriction on versioned out blocks could be removed for at least D1/D2 identifiers.
We need some other kind of `version' for this, I'm afraid. Something like this, maybe: #version (StructInsteadOfClass) struct Foo { #else class Foo { #end void bar() {} }
Aug 11 2008
parent "Koroskin Denis" <2korden gmail.com> writes:
On Mon, 11 Aug 2008 20:03:29 +0400, Koroskin Denis <2korden gmail.com>  
wrote:

 On Sun, 10 Aug 2008 13:18:20 +0400, Lars Ivar Igesund  
 <larsivar igesund.net> wrote:

 Nick B wrote:

 Sean

 So what is the plan to transition Tango to D2.0 ?

 Is the Tango team waiting for const to be removed from D2.0, or will
 Tango continue to use D1.0 forever, or is the team waiting to see the
 final form of D2.0 before deciding what to do ?
We don't expect const to be removed :) As it is, this must be resolved before it is possible to properly port Tango: http://d.puremagic.com/issues/show_bug.cgi?id=2267 1644 was fixed now, but is in our opinion the lesser solution to the problem - we'd much rather have 1961. 2204 is still open I think. Also as long as closures are allocated on stack, that is likely to be rather detrimental to the performance. Once we have a resolution on that, work on the Tango D 2.0 branch will probably continue, and this branch will be available to all who need it. If possible, an official release may happen shortly after the time Walter calls D 2.0 to be stable. One other concern is that it is almost impossible to have code that is both D1 and D2 compatible, something which mean the mantainance of two branches, a potentially daunting task - it would be good if the "syntactical correctness" restriction on versioned out blocks could be removed for at least D1/D2 identifiers.
We need some other kind of `version' for this, I'm afraid. Something like this, maybe: #version (StructInsteadOfClass) struct Foo { #else class Foo { #end void bar() {} }
I would also like to have something like this: #if CompileTimeConfig.TargetOS == OS.MacOS && CompileTimeConfig.TargetOSVersion >= 10_3_2 // do something #else // do something else #endif Note that it is exactly like static if (sameCondition) { } (i.e. it can benefit from CTFE etc), but allows wrong code in false clause.
Aug 11 2008
prev sibling parent PJP <pete.poulos gmail.com> writes:
Auria Wrote:

 Yes, and even if i know this has been discussed to death, i'll allow myself to
add i really dislike the direction D is taking. D's homepage states it is
driven by practical experience and not academical feats. Hasn't a solid
standard library been shown over time to be absolutely necessary for any
language to become popular and highly usable? It seems like D is taking the
direction of adding lots of sugar features, and misses basic practical
experience stuff. All that sugar is totally useless if D doesn't even have a
standard library upon which everything can be built
I'll second that.
Aug 10 2008