Re: Mass-enabling D => License question
On Thursday, 22 May 2014 at 14:06:10 UTC, Max Barraclough wrote: The MonoD developer is accepting donations: http://mono-d.alexanderbothe.com/ I my mind, such a crowdfunded IDE for D, announced by Walter and Andrei, should be written in D. It could be the necessary bootstrap for such a big open-sourced project. This, indirectly, would also serve as advertisement for D.
Re: Mass-enabling D => License question
On Thursday, 22 May 2014 at 09:51:17 UTC, marcpmichel wrote: To be back on topic : What about trying crowdfunding to pay a few developers to build an IDE for D ? What about Digital Mars doing it ? Where is the video with Walter and Andrei asking for contributions ? The MonoD developer is accepting donations: http://mono-d.alexanderbothe.com/ (Unrelated: The JavaScript-free captcha is utterly impossible, or else actually broken. Most annoying.)
Re: Mass-enabling D => License question
To be back on topic : What about trying crowdfunding to pay a few developers to build an IDE for D ? What about Digital Mars doing it ? Where is the video with Walter and Andrei asking for contributions ?
Re: Mass-enabling D => License question
On Wednesday, 21 May 2014 at 09:59:54 UTC, Max Barraclough wrote: Other than the Artistic Licence dual-licensing, what did I get wrong? Syntax highlighting requires only minimal lexer. Code completion should be done out of process in order to easily restart it if it overuses memory.
Re: Mass-enabling D => License question
On Wednesday, 21 May 2014 at 10:52:34 UTC, Joakim wrote: I don't know about that last point, and I'm not about to reread the GPL to find out, but sure, it's all a matter of how tightly you link against GPL code. Shared memory, pipelines etc are not linking… If you exchange data you are ok as they are independent works.
Re: Mass-enabling D => License question
On 21/05/14 12:02, John Colvin wrote: Also, note that linking to GPL licenced shared libraries/dlls/dylibs or whatever you use doesn't necessarily mean the GPL has got you wrapped in it's rather fuzzy web. AKAIK it's a matter of debate and has never been tested in court As far as I know, if you link dynamically with a GPL library you're library/application need to be GPL as well. That's why LGPL exists, where it's allowed. , but it's enough for many current creators/distributors of closed source software for linux who call various GPL system libs via the shared library interfaces. GPL (and LGPL) has a exception for linking with system libraries. -- /Jacob Carlborg
Re: Mass-enabling D => License question
On 21/05/14 11:59, Max Barraclough wrote: I assumed we were talking about using the frontend as a means to enable syntax-highlighting and such, rather than simple invocation of the DMD compiler, which of course wouldn't be a problem. I assumed we weren't, since it's not really made for that. It would take a lot of work to make DMD useable as a library. XCode uses its own C/C++/Objective-C/Objective-C++ parser then, I take it? Yes, now days it uses libclang. It still compiles the code by invoking the compiler in an external process. Which could be GCC or Clang. -- /Jacob Carlborg
Re: Mass-enabling D => License question
On Wednesday, 21 May 2014 at 10:52:34 UTC, Joakim wrote: Other than the Artistic Licence dual-licensing, what did I get wrong? Well, that's a pretty fundamental point, but it was a joke. I think you're right - I'm not all that familiar with the Artistic Licence, but it seems a better fit for building a proprietary IDE around DMD. From this unreliable source, it looks like the Artistic Licence (at least Version 2.0, though I presume 1.0 is in the same spirit) is intended to be proprietary-friendly, so the GPL discussion is for naught: http://osdir.com/ml/licenses.open-source.general/2007-03/msg00055.html DMD seems to reference 'Version 1.0' of the Artistic Licence, which the FSF consider to be too vague to really reason about: https://www.gnu.org/licenses/license-list.html#ArtisticLicense
Re: Mass-enabling D => License question
On Wednesday, 21 May 2014 at 09:17:34 UTC, Ola Fosheim Grøstad wrote: You can modify a GPL'ed compiler to work as a stand alone server with shared memory interface. You are allowed to distribute it as a binary with other kinds of software. You don't have to make source available unless the receiver of the binary explicitly requests it, and only for the GPL'ed server. I don't know about that last point, and I'm not about to reread the GPL to find out, but sure, it's all a matter of how tightly you link against GPL code. On Wednesday, 21 May 2014 at 09:25:56 UTC, Jacob Carlborg wrote: On 21/05/14 09:50, Joakim wrote: Yes, but they moved to the UIUC-licensed (basically the BSD license) llvm eventually, partially because they wanted Xcode to directly link against it. I think it's that kind of integration that Andre and Max have in mind, though as John noted, they're not particularly precise about what they want. That's a completely different thing. I would like to see someone try doing that with DMD ;). I assume they didn't want to do that since that feels quite unrealistic at this stage, DMD is not really meant for this type of integration. I don't think they know that. ;) On Wednesday, 21 May 2014 at 09:59:54 UTC, Max Barraclough wrote: On Wednesday, 21 May 2014 at 07:50:33 UTC, Joakim wrote: I'd hope not. ;) Other than the Artistic Licence dual-licensing, what did I get wrong? Well, that's a pretty fundamental point, but it was a joke. See the wink? :) On Wednesday, 21 May 2014 at 10:02:31 UTC, John Colvin wrote: Also, note that linking to GPL licenced shared libraries/dlls/dylibs or whatever you use doesn't necessarily mean the GPL has got you wrapped in it's rather fuzzy web. AKAIK it's a matter of debate and has never been tested in court, but it's enough for many current creators/distributors of closed source software for linux who call various GPL system libs via the shared library interfaces. And constantly in flux, see the recent court decision that claimed that Google's use of Java APIs in Android infringed on Oracle's "copyright" on them: https://www.eff.org/deeplinks/2014/05/dangerous-ruling-oracle-v-google-federal-circuit-reverses-sensible-lower-court Also - and this is the biggest thing that people fail to realise in all software license debates - it is a practical impossibility to create a software license that is well defined and valid in all jurisdictions. For a global enterprise, almost *everything* is legally fuzzy. It is true that widely varying copyright laws all over the world make it difficult for more ambitious licenses like the GPL to be written, as opposed to simpler licenses like BSD, but it is also true that many of those OSS licenses are badly written even for the one jurisdiction they were written in. The Artistic license has taken a lot of flak for this over the years, same with parts of the GPL.
Re: Mass-enabling D => License question
On Tuesday, 20 May 2014 at 22:50:45 UTC, John Colvin wrote: On Tuesday, 20 May 2014 at 20:44:57 UTC, Andre wrote: Hi, I like D due to its clear syntax and power. For a business application developer what is really missing is a full blown IDE which enables Rapid Application Development. => GUI => Database => Internet components => Refactoring => ... and a lot things more If I compare the time I need to develop a D application and a delphi application there are several weeks between unfortunatelly (my experience). I wonder whether it is possible from a license point of view to develop an IDE for D and sell it? Of course there are license issues due to fact that D must be integrated in the package but someone would only pay for the IDE. On the other side, a good IDE will mass enabled D for business application developer. If someone will create an IDE for D like Borland has done for Delphi this would lead to an huge success for D in my opinion. What do you think? Would you appreciate such an IDE? Kind regards André What licensing problems do you foresee? Bear in the mind that although the dmd backend has a restrictive licence that prohibits redistribution without permission, permission to redistribute is normally easy to get from Walter. Alternatively, if the clients computer does the download of dmd from dlang.org as part of the IDE installer then you circumvent the problem entirely. To the best of my (limited) knowledge, the open source licenses used in all 3 main compilers do not prohibit redistribution and/or selling for profit. Also, note that linking to GPL licenced shared libraries/dlls/dylibs or whatever you use doesn't necessarily mean the GPL has got you wrapped in it's rather fuzzy web. AKAIK it's a matter of debate and has never been tested in court, but it's enough for many current creators/distributors of closed source software for linux who call various GPL system libs via the shared library interfaces. Also - and this is the biggest thing that people fail to realise in all software license debates - it is a practical impossibility to create a software license that is well defined and valid in all jurisdictions. For a global enterprise, almost *everything* is legally fuzzy.
Re: Mass-enabling D => License question
On Wednesday, 21 May 2014 at 01:53:57 UTC, ed wrote: Yet more GPL bashing? This is getting very boring these days. No, I'm not *bashing*. Were I the owner of DMD, the restrictions facilitated by the GPL are exactly what I'd want. I think we're agreed here really, ed. On Wednesday, 21 May 2014 at 06:40:44 UTC, Jacob Carlborg wrote: There's no need to link with DMD. I assumed we were talking about using the frontend as a means to enable syntax-highlighting and such, rather than simple invocation of the DMD compiler, which of course wouldn't be a problem. It doesn't need to because it doesn't link with GCC. It uses invokes GCC as an external process to build projects. XCode uses its own C/C++/Objective-C/Objective-C++ parser then, I take it? On Wednesday, 21 May 2014 at 07:50:33 UTC, Joakim wrote: Not true, the DMD frontend is dual-licensed, both GPL and the Artistic license: You're right. Looking at Point 7, the Artistic Licence might allow integration of the front-end into a commercial IDE, for, say, syntax highlighting. https://github.com/D-Programming-Language/dmd/blob/master/src/artistic.txt I'd hope not. ;) Other than the Artistic Licence dual-licensing, what did I get wrong?
Re: Mass-enabling D => License question
On Wednesday, 21 May 2014 at 09:25:56 UTC, Jacob Carlborg wrote: On 21/05/14 09:50, Joakim wrote: Yes, but they moved to the UIUC-licensed (basically the BSD license) llvm eventually, partially because they wanted Xcode to directly link against it. I think it's that kind of integration that Andre and Max have in mind, though as John noted, they're not particularly precise about what they want. That's a completely different thing. I would like to see someone try doing that with DMD ;). I assume they didn't want to do that since that feels quite unrealistic at this stage, DMD is not really meant for this type of integration. The delphi ide is able to create components which coding runs during design time in the ide. My idea for s.th. Like that is to compile d code to dll and during runtime load it into the ide. But as far as I understand this could also be made as external toolchain call to DMD which is also allowed with the license. Kind regards andre
Re: Mass-enabling D => License question
On 21/05/14 09:50, Joakim wrote: Yes, but they moved to the UIUC-licensed (basically the BSD license) llvm eventually, partially because they wanted Xcode to directly link against it. I think it's that kind of integration that Andre and Max have in mind, though as John noted, they're not particularly precise about what they want. That's a completely different thing. I would like to see someone try doing that with DMD ;). I assume they didn't want to do that since that feels quite unrealistic at this stage, DMD is not really meant for this type of integration. -- /Jacob Carlborg
Re: Mass-enabling D => License question
On Wednesday, 21 May 2014 at 07:50:33 UTC, Joakim wrote: I don't think John was talking about linking against dmd, merely having the user download and run it standalone, which the GPL doesn't prohibit. You can modify a GPL'ed compiler to work as a stand alone server with shared memory interface. You are allowed to distribute it as a binary with other kinds of software. You don't have to make source available unless the receiver of the binary explicitly requests it, and only for the GPL'ed server. GPL is based on copyright law (WIPO) in order to work under different jurisdictions, so it is fairly permissive.
Re: Mass-enabling D => License question
On Wednesday, 21 May 2014 at 00:16:07 UTC, Max Barraclough wrote: The DMD frontend is licensed under the GPL, which is 'viral': if your code links against it, you'll have to release your code as GPL. Not true, the DMD frontend is dual-licensed, both GPL and the Artistic license: https://github.com/D-Programming-Language/dmd/blob/master/src/readme.txt While both are badly-written licenses that have generated a lot of debate about what they really mean because of vague terminology, the bane of legal documents, the Artistic license appears to allow redistribution in binary form without providing source: https://github.com/D-Programming-Language/dmd/blob/master/src/artistic.txt John's idea of having the user provide DMD, rather than bundling it, may or may not be against the letter of the GPL (I'm unsure, but I don't think it's exactly safe ground - your code is still written to the DMD ABI, after all), but it's certainly against the spirit. I don't think John was talking about linking against dmd, merely having the user download and run it standalone, which the GPL doesn't prohibit. And if you use the frontend under the Artistic license, there's no problem with modifying or linking it either. If I were you, I'd be asking: are there working D frontends available other than DMD (from other IDE/compiler/tooling projects)? If so, what's their licence? (I'm afraid I don't know the answer to either.) All three major D compilers, dmd, ldc, gdc, use the same dmd frontend, though probably under different licenses, chosen from the two that dmd offers. There is also sdc, under the MIT license, though I don't know how ready it is: https://github.com/deadalnix/SDC Usual disclaimer: I'm not a lawyer, certainly not a copyright lawyer, certainly not your lawyer, etc. I'd hope not. ;) On Wednesday, 21 May 2014 at 06:40:44 UTC, Jacob Carlborg wrote: It's not against the GPL license [1]. Many companies do this, Apple for example. They've created Xcode which comes (did come) bundled with GCC. Xcode is absolutely not open source. It doesn't need to because it doesn't link with GCC. It uses invokes GCC as an external process to build projects. Yes, but they moved to the UIUC-licensed (basically the BSD license) llvm eventually, partially because they wanted Xcode to directly link against it. I think it's that kind of integration that Andre and Max have in mind, though as John noted, they're not particularly precise about what they want.
Re: Mass-enabling D => License question
On 21/05/14 02:16, Max Barraclough wrote: The DMD frontend is licensed under the GPL, which is 'viral': if your code links against it, you'll have to release your code as GPL. There's no need to link with DMD. Strictly, John is right in that the GPL doesn't prevent you from charging for your code, but seeing as that code will be GPL'ed, anyone who buys it will then be free to share it publicly free of charge. (You're also required to provide source.) John's idea of having the user provide DMD, rather than bundling it, may or may not be against the letter of the GPL (I'm unsure, but I don't think it's exactly safe ground - your code is still written to the DMD ABI, after all), but it's certainly against the spirit. It's not against the GPL license [1]. Many companies do this, Apple for example. They've created Xcode which comes (did come) bundled with GCC. Xcode is absolutely not open source. It doesn't need to because it doesn't link with GCC. It uses invokes GCC as an external process to build projects. The code produce by GPL compiler does not fall under the GPL license [2], if that were the case GCC would be useless for many users and companies. [1] https://www.gnu.org/licenses/gpl-faq.html#GPLCompatInstaller [2] https://www.gnu.org/licenses/gpl-faq.html#CanIUseGPLToolsForNF -- /Jacob Carlborg
Re: Mass-enabling D => License question
On Wednesday, 21 May 2014 at 00:16:07 UTC, Max Barraclough wrote: The DMD frontend is licensed under the GPL, which is 'viral': if your code links against it, you'll have to release your code as GPL. Strictly, John is right in that the GPL doesn't prevent you from charging for your code, but seeing as that code will be GPL'ed, anyone who buys it will then be free to share it publicly free of charge. (You're also required to provide source.) John's idea of having the user provide DMD, rather than bundling it, may or may not be against the letter of the GPL (I'm unsure, but I don't think it's exactly safe ground - your code is still written to the DMD ABI, after all), but it's certainly against the spirit. Here is the official GPL FAQ: https://www.gnu.org/licenses/gpl-faq.html If I were you, I'd be asking: are there working D frontends available other than DMD (from other IDE/compiler/tooling projects)? If so, what's their licence? (I'm afraid I don't know the answer to either.) Usual disclaimer: I'm not a lawyer, certainly not a copyright lawyer, certainly not your lawyer, etc. Yet more GPL bashing? This is getting very boring these days. A GPL'd toolchain should not be a blocker for a commercial IDE. I have such an IDE compiling my C++ code as I am typing this out. GPL is not perfect but it's currently a good middle ground license that allows developers to release code open source but protect their rights to earn a living from it. Or put it another way, if you want to make money from source code that cost the original author a lot of time and effort, then the original author deserves the right to *choose* GPL and receive something in return. Either way the original author chose Open Source and that is what's important. GPL does not hinder open source development, nor the use of open source software in a commercial setting. Cheers, ed
Re: Mass-enabling D => License question
The DMD frontend is licensed under the GPL, which is 'viral': if your code links against it, you'll have to release your code as GPL. Strictly, John is right in that the GPL doesn't prevent you from charging for your code, but seeing as that code will be GPL'ed, anyone who buys it will then be free to share it publicly free of charge. (You're also required to provide source.) John's idea of having the user provide DMD, rather than bundling it, may or may not be against the letter of the GPL (I'm unsure, but I don't think it's exactly safe ground - your code is still written to the DMD ABI, after all), but it's certainly against the spirit. Here is the official GPL FAQ: https://www.gnu.org/licenses/gpl-faq.html If I were you, I'd be asking: are there working D frontends available other than DMD (from other IDE/compiler/tooling projects)? If so, what's their licence? (I'm afraid I don't know the answer to either.) Usual disclaimer: I'm not a lawyer, certainly not a copyright lawyer, certainly not your lawyer, etc.
Re: Mass-enabling D => License question
On Tuesday, 20 May 2014 at 20:44:57 UTC, Andre wrote: Hi, I like D due to its clear syntax and power. For a business application developer what is really missing is a full blown IDE which enables Rapid Application Development. => GUI => Database => Internet components => Refactoring => ... and a lot things more If I compare the time I need to develop a D application and a delphi application there are several weeks between unfortunatelly (my experience). I wonder whether it is possible from a license point of view to develop an IDE for D and sell it? Of course there are license issues due to fact that D must be integrated in the package but someone would only pay for the IDE. On the other side, a good IDE will mass enabled D for business application developer. If someone will create an IDE for D like Borland has done for Delphi this would lead to an huge success for D in my opinion. What do you think? Would you appreciate such an IDE? Kind regards André What licensing problems do you foresee? Bear in the mind that although the dmd backend has a restrictive licence that prohibits redistribution without permission, permission to redistribute is normally easy to get from Walter. Alternatively, if the clients computer does the download of dmd from dlang.org as part of the IDE installer then you circumvent the problem entirely. To the best of my (limited) knowledge, the open source licenses used in all 3 main compilers do not prohibit redistribution and/or selling for profit.