digitalmars.D - Mass-enabling D => License question
- Andre (23/23) May 20 2014 Hi,
- John Colvin (10/38) May 20 2014 What licensing problems do you foresee? Bear in the mind that
- Max Barraclough (20/20) May 20 2014 The DMD frontend is licensed under the GPL, which is 'viral': if
- ed (19/40) May 20 2014 Yet more GPL bashing? This is getting very boring these days.
- Max Barraclough (20/26) May 21 2014 No, I'm not *bashing*. Were I the owner of DMD, the restrictions
- Jacob Carlborg (7/11) May 21 2014 I assumed we weren't, since it's not really made for that. It would take...
- Kagamin (4/6) May 22 2014 Syntax highlighting requires only minimal lexer. Code completion
- Jacob Carlborg (14/26) May 20 2014 It's not against the GPL license [1]. Many companies do this, Apple for
- Joakim (26/45) May 21 2014 Not true, the DMD frontend is dual-licensed, both GPL and the
- "Ola Fosheim =?UTF-8?B?R3LDuHN0YWQi?= (8/11) May 21 2014 You can modify a GPL'ed compiler to work as a stand alone server
- Joakim (22/55) May 21 2014 I don't know about that last point, and I'm not about to reread
- Max Barraclough (12/15) May 21 2014 I think you're right - I'm not all that familiar with the
- "Ola Fosheim =?UTF-8?B?R3LDuHN0YWQi?= (3/6) May 21 2014 Shared memory, pipelines etc are not linking… If you exchange
- Jacob Carlborg (7/12) May 21 2014 That's a completely different thing. I would like to see someone try
- andre (7/19) May 21 2014 The delphi ide is able to create components which coding runs
- John Colvin (13/58) May 21 2014 Also, note that linking to GPL licenced shared
- Jacob Carlborg (7/14) May 21 2014 As far as I know, if you link dynamically with a GPL library you're
- marcpmichel (6/6) May 22 2014 To be back on topic :
- Max Barraclough (5/11) May 22 2014 The MonoD developer is accepting donations:
- marcpmichel (6/8) May 22 2014 I my mind, such a crowdfunded IDE for D, announced by Walter and
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é
May 20 2014
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.
May 20 2014
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.
May 20 2014
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
May 20 2014
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 tobuild 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 theArtistic 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.txtI'd hope not. ;)Other than the Artistic Licence dual-licensing, what did I get wrong?
May 21 2014
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
May 21 2014
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.
May 22 2014
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
May 20 2014
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.txtJohn'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/SDCUsual 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.
May 21 2014
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.
May 21 2014
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:I don't think they know that. ;) On Wednesday, 21 May 2014 at 09:59:54 UTC, Max Barraclough 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.On Wednesday, 21 May 2014 at 07:50:33 UTC, Joakim wrote: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:I'd hope not. ;)Other than the Artistic Licence dual-licensing, what did I get wrong?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-courtAlso - 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.
May 21 2014
On Wednesday, 21 May 2014 at 10:52:34 UTC, Joakim wrote: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#ArtisticLicenseOther than the Artistic Licence dual-licensing, what did I get wrong?Well, that's a pretty fundamental point, but it was a joke.
May 21 2014
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.
May 21 2014
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
May 21 2014
On Wednesday, 21 May 2014 at 09:25:56 UTC, Jacob Carlborg wrote:On 21/05/14 09:50, Joakim wrote: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 andreYes, 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.
May 21 2014
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: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.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.
May 21 2014
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 courtAs 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
May 21 2014
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 ?
May 22 2014
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.)
May 22 2014
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.
May 22 2014