www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.announce - Texas LinuxFest 2011 call for papers now open

reply Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
http://www.texaslinuxfest.org/callforpapers/

One topic of interest is Open Source Programming Languages. If someone 
could explain to me the various subtle nuances of what an open source 
programming language is, I'll try to make a D-related submission and of 
course I recommend anyone else to do the same.


Andrei
Jan 20 2011
next sibling parent reply Lutger Blijdestijn <lutger.blijdestijn gmail.com> writes:
Andrei Alexandrescu wrote:

 http://www.texaslinuxfest.org/callforpapers/
 
 One topic of interest is Open Source Programming Languages. If someone
 could explain to me the various subtle nuances of what an open source
 programming language is, I'll try to make a D-related submission and of
 course I recommend anyone else to do the same.
 
 
 Andrei

This is a matter of perspective, I think these are the possibly interesting angles and issues for D: - availability and development of Open Source compilers (OSI compatible license) - cross-platform design, this extends beyond linux but is often a concern and goal in the Open Source world - development process of the language (and std lib) itself: here the community participation is important. For D it's an interesting (and ongoing) story to tell. - usefulness and place in the open source ecosystem: I believe D has a potential here as a serious alternative for both mono and java. Mono, the open source implementation of .net, has loads of potential patent issues and for this reason is not supported by some distro's. Java also has it's issues. Positioning D as a solution to those problems (rather than an alternative for C++ or dynamic languages) will please the crowd, for sure :) Interoperability with C is also important here.
Jan 20 2011
parent reply Daniel Gibson <metalcaedes gmail.com> writes:
Am 20.01.2011 19:58, schrieb Lutger Blijdestijn:
 Andrei Alexandrescu wrote:

 http://www.texaslinuxfest.org/callforpapers/

 One topic of interest is Open Source Programming Languages. If someone
 could explain to me the various subtle nuances of what an open source
 programming language is, I'll try to make a D-related submission and of
 course I recommend anyone else to do the same.


 Andrei

This is a matter of perspective, I think these are the possibly interesting angles and issues for D: - availability and development of Open Source compilers (OSI compatible license)

(x) we have gdc and ldc (check how well current versions with D2 work before talking about them, though ;))
 - cross-platform design, this extends beyond linux but is often a concern
 and goal in the Open Source world

(x) Windows, Linux, OSX, FreeBSD are supported, with gdc/ldc probably more
 - development process of the language (and std lib) itself: here the
 community participation is important. For D it's an interesting (and
 ongoing) story to tell.

(x) agree. Also: The std lib is under a very free license (unlike for example suns/oracles classpath.. OpenJDK seems to be GPLed, but that still sucks for a std lib)
 - usefulness and place in the open source ecosystem: I believe D has a
 potential here as a serious alternative for both mono and java. Mono, the
 open source implementation of .net, has loads of potential patent issues and
 for this reason is not supported by some distro's. Java also has it's
 issues. Positioning D as a solution to those problems (rather than an
 alternative for C++ or dynamic languages) will please the crowd, for sure :)

You can never be sure with patents, as someone else in another thread already pointed out: it's virtually impossible to write a piece of software that doesn't infringe patents. Of course, the situation is worse with Java (as seen in Oracle suing Google for using a Java-derivate in Android) and Mono (you never know if Microsoft will tolerate this forever. Even if they promised not to sue for current .net related patents, you never know about patents applying to features in future versions of .net). With D at least people still would have to find patents that are infringed - and even then the case isn't as clear as with Java/mono, where it's obvious that the Java/.net related patents are infringed. So yes, the point that D may cause less trouble than Java/.net can be made, but you probably shouldn't claim that D doesn't infringe any patents, because you can't possibly know (nobody can, there are just too many software patents to check, even for big companies).
 Interoperability with C is also important here.

Yeah, it's a killer-feature. Being able to just call C functions and link objects produced by gcc objects (foo.o) is *really* helpful, especially in the Linux world. I think D (with gdc/ldc) qualifies as an "Open Source Programming Language", but you should probably ask the texaslinuxfest guys for their personal definition. Cheers, - Daniel
Jan 20 2011
next sibling parent Lutger Blijdestijn <lutger.blijdestijn gmail.com> writes:
Daniel Gibson wrote:

...
 
 You can never be sure with patents, as someone else in another thread
 already pointed out: it's virtually impossible to write a piece of
 software that doesn't infringe patents.

Yes, it's like bugs: you can tell when you found one, but never know your software is free of it. (well, that is almost true)
 Of course, the situation is worse with Java (as seen in Oracle suing
 Google for using a Java-derivate in Android) and Mono (you never know if
 Microsoft will tolerate this forever. Even if they promised not to sue for
 current .net related patents, you never know about patents applying to
 features in future versions of .net).
 With D at least people still would have to find patents that are infringed
 - and even then the case isn't as clear as with Java/mono, where it's
 obvious that the Java/.net related patents are infringed.
 
 So yes, the point that D may cause less trouble than Java/.net can be
 made, but you probably shouldn't claim that D doesn't infringe any
 patents, because you can't possibly know (nobody can, there are just too
 many software patents to check, even for big companies).
 

Technically that is right, but I find it a bit of an understatement because every non trival software project has potential issues. With .NET and Java you *know* you have patent issues, with D any potential patent issue is a tragic mistake that still has to be proven to exist. Those are not on the same scale, so I wouldn't use the term 'less trouble' You also have ownership to take into account, I would rather trust Walter Bright not using submarine patent traps than MS or Oracle :)
Jan 20 2011
prev sibling parent reply Lutger Blijdestijn <lutger.blijdestijn gmail.com> writes:
Daniel Gibson wrote:
...

 So yes, the point that D may cause less trouble than Java/.net can be
 made, but you probably shouldn't claim that D doesn't infringe any
 patents, because you can't possibly know (nobody can, there are just too
 many software patents to check, even for big companies).
 

Perhaps I should elaborate a bit. mono is simply out of the question in a large part of linux. Fedora for example, has D as a feature for its 14 release but doesn't support mono. Java is more complex, but if we take it out of the picture it leaves (some of) linux with C / C++ on the one hand and a lot of higher level dynamic languages on the other. In between are some more 'exotic' languages such as haskell. Perhaps I'm wrong, but I see a big void there where D can step in, mostly because of its set of features. In the non-open-source world, Java and .NET are already taking care of much of this void.
Jan 20 2011
parent Daniel Gibson <metalcaedes gmail.com> writes:
Am 20.01.2011 21:15, schrieb Lutger Blijdestijn:
 Daniel Gibson wrote:
 ...

 So yes, the point that D may cause less trouble than Java/.net can be
 made, but you probably shouldn't claim that D doesn't infringe any
 patents, because you can't possibly know (nobody can, there are just too
 many software patents to check, even for big companies).


 Technically that is right, but I find it a bit of an understatement because
 every non trival software project has potential issues. With .NET and Java
 you *know* you have patent issues, with D any potential patent issue is a
 tragic mistake that still has to be proven to exist. Those are not on the
 same scale, so I wouldn't use the term 'less trouble' You also have
 ownership to take into account, I would rather trust Walter Bright not using
 submarine patent traps than MS or Oracle :)

I mostly agree with you :-) Maybe "less trouble" is not the right word.. my point is: I guess Walter did not explicitly try to avoid patents when developing D (and, as mentioned before, you can't be sure anyway), so you probably can't advertise D as a patent-free language (like ogg vorbis is claimed to be a patent-free audio codec). And I don't believe Walter is using any patent traps (Does he hold any patents? I wouldn't be surprised, and I don't really care because I don't believe he'd use it offensively) - but once D is popular you never know if a third party starts trolling. But of course, this may happen with any language or software in general. Furthermore, there was this thread in d.D about two Borland patents that are now owned by M$ that *may* be infringed by D...
 Perhaps I should elaborate a bit. mono is simply out of the question in a
 large part of linux. Fedora for example, has D as a feature for its 14
 release but doesn't support mono. Java is more complex, but if we take it
 out of the picture it leaves (some of) linux with C / C++ on the one hand
 and a lot of higher level dynamic languages on the other. In between are
 some more 'exotic' languages such as haskell. Perhaps I'm wrong, but I see a
 big void there where D can step in, mostly because of its set of features.
 In the non-open-source world, Java and .NET are already taking care of much
 of this void.

I agree. A free language that works well with C and is at least as "user-friendly" as Java definitely has a lot of potential in the open source and esp. Linux/*BSD world. Many Open Source developers will prefer it to Java/Mono, because it doesn't use a VM (some may still complain about the garbage collector, though, but in the end they'd benefit from it, because it mostly prevents the quite common memory leaks). Another thing that should be considered: For D2 to be really interesting in the Linux world, stream and socket handling needs to improve. But it seems like this will happen, Andrei started a discussion about a new std.stream in d.D recently. Cheers, - Daniel
Jan 20 2011
prev sibling parent "Akakima" <akakima33 gmail.com> writes:
"Andrei Alexandrescu" <SeeWebsiteForEmail erdani.org>

 http://www.texaslinuxfest.org/callforpapers/

 One topic of interest is Open Source Programming Languages. If someone 
 could explain to me the various subtle nuances of what an open source 
 programming language is, I'll try to make a D-related submission and of 
 course I recommend anyone else to do the same.


 Andrei

See: http://en.wikipedia.org/wiki/Open-source_software Some may considers D is Open Source. Some others may consider it's not. Many uses the following definition for Open Source. I think it means that DMD (the reference implementation) would not be considered as Open Source. The Open Source Definition is used by the Open Source Initiative to determine whether or not a software license can be considered open source. The definition was based on the Debian Free Software Guidelines, written and adapted primarily by Bruce Perens. They are by no means definitive even as applied to software. Clause 3 is the primary legal difference between free software and open source software as such, free software is stricter in interpreting 3. Clauses 5 and 6 are not a condition of any major open content license regimes, which commonly do restrict types of uses and users; for instance, Creative Commons has open content licenses that explicitly forbid commercial use. Introduction Open source doesn't just mean access to the source code. The distribution terms of open-source software must comply with the following criteria: 1. Free Redistribution The license shall not restrict any party from selling or giving away the software as a component of an aggregate software distribution containing programs from several different sources. The license shall not require a royalty or other fee for such sale. 2. Source Code The program must include source code, and must allow distribution in source code as well as compiled form. Where some form of a product is not distributed with source code, there must be a well-publicized means of obtaining the source code for no more than a reasonable reproduction cost preferably, downloading via the Internet without charge. The source code must be the preferred form in which a programmer would modify the program. Deliberately obfuscated source code is not allowed. Intermediate forms such as the output of a preprocessor or translator are not allowed. 3. Derived Works The license must allow modifications and derived works, and must allow them to be distributed under the same terms as the license of the original software. 4. Integrity of The Author's Source Code The license may restrict source-code from being distributed in modified form only if the license allows the distribution of "patch files" with the source code for the purpose of modifying the program at build time. The license must explicitly permit distribution of software built from modified source code. The license may require derived works to carry a different name or version number from the original software. 5. No Discrimination Against Persons or Groups The license must not discriminate against any person or group of persons. 6. No Discrimination Against Fields of Endeavor. The license must not restrict anyone from making use of the program in a specific field of endeavor. For example, it may not restrict the program from being used in a business, or from being used for genetic research. 7. Distribution of License The rights attached to the program must apply to all to whom the program is redistributed without the need for execution of an additional license by those parties. 8. License Must Not Be Specific to a Product The rights attached to the program must not depend on the program's being part of a particular software distribution. If the program is extracted from that distribution and used or distributed within the terms of the program's license, all parties to whom the program is redistributed should have the same rights as those that are granted in conjunction with the original software distribution. 9. License Must Not Restrict Other Software The license must not place restrictions on other software that is distributed along with the licensed software. For example, the license must not insist that all other programs distributed on the same medium must be open-source software. 10. License Must Be Technology-Neutral No provision of the license may be predicated on any individual technology or style of interface.
Jan 20 2011