September 16, 2014
On Tuesday, 16 September 2014 at 11:55:02 UTC, Ola Fosheim Grøstad wrote:
> I also think that the GPL would be a more fitting license for D, given the democratic process and the community aspect.
>
> But I would not modify the source then. So the license sure matters. MIT/BSD has traditionally been used for reference implementations for commercial closed source refinement. It is basically "take this and do whatever you want, no strings attached, but don't blame me for failures" licenses.
>
> But you need to choose, because in open source:
>
> product == source-code + license
> support == forums/community
> end users == people who download the source-code
>
> We are only end users, not D devs. Maybe later devs, but currently just end users that evaluate the "product", which includes the license.

As I said, I think you're focusing on the license too much, as any open source license allows forking, though you're right that the MIT/BSD licenses usually provide more incentive to do so.  Regardless of the license, some here view fragmenting dialects as a problem, ie the specter of fragmentation exists whatever the open source license chosen.

I know you don't think fragmentation is an issue, but for every one "dialect" like Turbo Pascal or Obj-C that subsequently thrived, there are probably dozens that failed and merely muddied the waters.  However, I think automated syntax translation might be a worthwhile solution for such syntax fragmentation these days.

> However a fork is no real threat to D for the following reasons:
>
> 1. Walter Bright is a good C++ programmer with intimate knowledge of the D compiler internals. If a D dialect is good he can implement the good features in the main branch with less effort. Copyright does not constrain this. (only patents)
>
> 2. To fund a fork you probably have to close the source code and target small specialised commercial markets. That means high licensing costs. Which in turn means that for every sale of a closed source dialect there will be 100s of users looking for a free version. It could looked upon as free marketing.
>
> This is my take on this: I don't think a fork is a bad thing, and I think BSD/MIT style licensing increase the probability of a fork down the road compared to GPL. The payoff for forking is simply higher with a liberal license.

Walter is well aware of the tradeoffs, as he's had his own code misappropriated before and still thinks the potential benefits of closed tools are worth it:

http://forum.dlang.org/post/lni676$111r$1@digitalmars.com
September 16, 2014
On 8 September 2014 09:51, via Digitalmars-d <digitalmars-d@puremagic.com> wrote:
> I've started to make some minor mods to the DMD parser to tailor it to my own taste, but there is no reason to do double work, even if experimental. So I wonder which patches are available or in the works by others?
>
> I'm currently working on the following mods (not thoroughly tested yet):
>
> in : templatename‹params›
> out: templatename!(params)
>
> in : templatename«params»
> out: templatename!"params"
>
> in : a := expr
> out: auto a = expr
>
> in : a :== expr
> out: immutable a = expr
>
> And plan to continue with:
>
> in :  √x+y
> out:  sqrt(x) + y
>
> in :  a•b
> out:  a.opInner(b) // dot product, maybe some other name?
>
> in :  #arr;
> out:  arr.length //or perhaps something more generic?
>
> What are you working on and what patches do you have?
>
> What kind of syntactical sugar do you feel is missing in D?


You should read up on a programming language called Neat.   Though I can't say that the crazier unicode syntax made it to the publicly available product, some of the things that it does do are (I'm guessing here):

// Essentially a foreach
while auto id <- lines[1 .. $] { }

// Because parenthesis are optional, uses ':' to terminate a loop condition.
for st <- splitAt(",", id): doSomething(st);

// Casting.
int x = 0; float y = float:x;

// Formatted strings do local/global variable lookups.
writeln("FPS: $fps");

// No clue what he was thinking here...
template Blorg(T) <<EOT
  struct Blorg {
    T t;
  }
EOT


Iain.

September 16, 2014
On 8 September 2014 10:37, Daniel Murphy via Digitalmars-d <digitalmars-d@puremagic.com> wrote:
> "Ola Fosheim Grøstad" " wrote in message news:adjmadefxvblysylyvto@forum.dlang.org...
>
>> I've started to make some minor mods to the DMD parser to tailor it to my own taste, but there is no reason to do double work, even if experimental. So I wonder which patches are available or in the works by others?
>
>
> Attempting to fork D's syntax is harmful to D.  Please stop.

You can't stop people from exercising their Freedom #1 (modify) and #3
(redistribute modified copies) of software under a free license.

Anyway, it's never been of harm to anyone.  Take Amber for instance, which is a very obvious fork of syntax, right down to a "What we fixed about D" page.

https://bitbucket.org/larsivi/amber/wiki/Diff_D1

Iain.

September 16, 2014
On Tuesday, 16 September 2014 at 17:16:28 UTC, Iain Buclaw via Digitalmars-d wrote:
> On 8 September 2014 10:37, Daniel Murphy via Digitalmars-d
>> Attempting to fork D's syntax is harmful to D.  Please stop.
>
> You can't stop people from exercising their Freedom #1 (modify) and #3
> (redistribute modified copies) of software under a free license.

Right, but I think that fits in nicely with the "You have the right to do it, but I can decide you are an asshole for it".

For instance, I can't stop Ketmar from bitching about the "problems" with D, and how his solutions are our godsend, but I can decide that he is also an entitled prick who's not even worth taking the time writing off.

> Anyway, it's never been of harm to anyone.  Take Amber for instance,
> which is a very obvious fork of syntax, right down to a "What we fixed
> about D" page.
>
> https://bitbucket.org/larsivi/amber/wiki/Diff_D1
>
> Iain.

I'd say it's really a matter of how and why you are doing it, and how you are presenting it. The way Ola presented his work looked more like experiment and proof of concept. It's constructive. The changes (mostly) adhered to D's current philosophy. I think he was just trying to find out who was doing the same, and I have no trouble with it.

I can see Dicebot's point of view, but I think it totally blew out of proportions after the 1st post.

However, gratuitous (and deliberate) forking of the language just to address your own petty design issues I have more problems with. Sure you can do it, but I think that if you do, you should GTFO.
September 17, 2014
On Tuesday, 16 September 2014 at 17:09:41 UTC, Iain Buclaw via Digitalmars-d wrote:
> You should read up on a programming language called Neat.

Thanks for the tip!

> // Casting.
> int x = 0; float y = float:x;

Yeah, I thought about that, but then I think declarations should follow the same syntax. Something like this:

x:int = 0;
y:float = x:float;

But the similarity might be confusing. Then again, lisp syntax is very uniform, and some people love it. I guess some changes have to be tested for while to figure out what works without preconception-bias.

Ola.
September 17, 2014
On 16 September 2014 19:53, monarch_dodra via Digitalmars-d <digitalmars-d@puremagic.com> wrote:
> On Tuesday, 16 September 2014 at 17:16:28 UTC, Iain Buclaw via Digitalmars-d wrote:
>>
>> On 8 September 2014 10:37, Daniel Murphy via Digitalmars-d
>>>
>>> Attempting to fork D's syntax is harmful to D.  Please stop.
>>
>>
>> You can't stop people from exercising their Freedom #1 (modify) and #3
>> (redistribute modified copies) of software under a free license.
>
>
> Right, but I think that fits in nicely with the "You have the right to do it, but I can decide you are an asshole for it".
>
> For instance, I can't stop Ketmar from bitching about the "problems" with D, and how his solutions are our godsend, but I can decide that he is also an entitled prick who's not even worth taking the time writing off.
>
>> Anyway, it's never been of harm to anyone.  Take Amber for instance, which is a very obvious fork of syntax, right down to a "What we fixed about D" page.
>>
>> https://bitbucket.org/larsivi/amber/wiki/Diff_D1
>>
>> Iain.
>
>
> I'd say it's really a matter of how and why you are doing it, and how you are presenting it. The way Ola presented his work looked more like experiment and proof of concept. It's constructive. The changes (mostly) adhered to D's current philosophy. I think he was just trying to find out who was doing the same, and I have no trouble with it.
>
> I can see Dicebot's point of view, but I think it totally blew out of proportions after the 1st post.
>
> However, gratuitous (and deliberate) forking of the language just to address your own petty design issues I have more problems with. Sure you can do it, but I think that if you do, you should GTFO.

s/GTFO/Not expect any support for it here, in both code changes and runtime anomalies/

It doesn't hurt to say things in the polite manner.

Iain.
September 17, 2014
On Tuesday, 16 September 2014 at 16:35:41 UTC, Joakim wrote:
> As I said, I think you're focusing on the license too much, as any open source license allows forking, though you're right that the MIT/BSD licenses usually provide more incentive to do so.  Regardless of the license, some here view fragmenting dialects as a problem, ie the specter of fragmentation exists whatever the open source license chosen.

Ok, but is it then ok if a "forked syntax" looks like Algol? Is it still an unhealthy fork? Why does it matter whether DMD or clang is underneath?

Walter keeps stating that he wants the forum behaviour to be professional. To me that means that the team that publish a product stands behind it in public, that includes the license, then keep the bickering internal to the team. If you sell an item with an instruction manual, you don't blame the user for pushing the wrong button if the instruction manual was flawed. You fix the instruction manual!

X11 was published under MIT style license. It was (partially?) funded by a consortium. Member companies got advance access to the source so they could ship physical X displays with the latest X version before the public got access. This is to me captures the spirit of BSD/MIT style licenses. You get to do what you want, no strings attached, but the primary concern is to be commercial friendly.

Semiotics matter.  And MIT/BSD is associated with a tradition and a set of expectations, and so is GPL.

1. From MIT/BSD I expect commercial friendly to be first concern, community secondary. I expect the community to be more carefree.

2. From GPL I expect community friendly to be first concern, commercial secondary. I expect the community to be more emotionally involved.

I think there is some anecdotal evidence that GPL projects often are better at grooming/growing their communities and that the GPL forks are merged back after a while (xemacs/se linux?), while BSD fork more easily and cooperate by copy-pasting back and forth between forks?

> muddied the waters.  However, I think automated syntax translation might be a worthwhile solution for such syntax fragmentation these days.

Yes, that is probably right.

> Walter is well aware of the tradeoffs, as he's had his own code misappropriated before and still thinks the potential benefits of closed tools are worth it:

Yeah sure, I already pointed out that I am certain that the implications of the license choice was deliberate to the original author.
September 17, 2014
On Tuesday, 16 September 2014 at 18:53:34 UTC, monarch_dodra wrote:
> For instance, I can't stop Ketmar from bitching about the "problems" with D, and how his solutions are our godsend, but I can decide that he is also an entitled prick who's not even worth taking the time writing off.

Nah, it's just his way of being funny.  You just don't share his humour. :) Please also remember that newbies that are excited are noisy. They want to find other people with the same outlook and don't know the "unwritten rules" yet.

Hot tip. If you want to grow bigger, always be nice to n00bz and give them enough time to find their spot. N00bs are alwasy noisy in the start, and if other n00bs see that you treat one n00b badly they might choose to remain in lurking mode. Appreciate all the n00bs you get, it is good marketing.

I am a lot more annoyed by D team members calling themselves lieutenants. I suppose this is someone's bad humour too. As a former airforce soldier (compulsory service) I just think "ewwwww *PUKE*" when I see the term being used… The army is the worst possible role model for software development IMO, it sucks! (It deprives you of initiative and individuality. You're just a wheel in a big machine.)

> and how you are presenting it. The way Ola presented his work looked more like experiment and proof of concept. It's constructive. The changes (mostly) adhered to D's current philosophy. I think he was just trying to find out who was doing the same, and I have no trouble with it.

I am trying to find out if there are maintained patches so I can avoid doing stuff that has been done already in my own experiments. Time's precious to everyone, even dissidents!

> However, gratuitous (and deliberate) forking of the language just to address your own petty design issues I have more problems with. Sure you can do it, but I think that if you do, you should GTFO.

Wouldn't that depend on how and why you do it?

If I (against all odds) end up with something I think works better than the current state, and the mainline does not want it. Why would I want to throw it in the garbage bin? Surely the better approach would be to share it and gather feedback on it from others, then improve it for those that want the improvements (if significant and worthwhile).

If I (against all odds) should conclude that I can spend 30% of my work time on adding and removing features that makes using a D derivative in a commercial setting possible (like for cloud computing) then I think that would be a good thing, even if it implies forking a closed source version of D. D would still receive bug fixes.

The alternative is to spend that 30% on Go and then Go will receive the bug fixes... (if it is buggy).

Go is currently a better server platform, but I like the basics of D better. I'd like to see D take the Go spot. I don't think that will happen with the current D focus, because the D development spreads itself thin over a wide range of application areas.

How can D compete with Go without a fork? I dunno. I am not ready to fork D, but if commercially viable, why not?  Please note that I don't think this is viable at the moment. I just want to know why you would oppose it.

Cheers,
Ola.
September 17, 2014
"Ola Fosheim Grøstad" <ola.fosheim.grostad+dlang@gmail.com> wrote:
> This is my take on this: I don't think a fork is a bad thing, and I think BSD/MIT style licensing increase the probability of a fork down the road compared to GPL. The payoff for forking is simply higher with a liberal license.

I think you are confusing the language with the compiler.
The license gives you the right to take the compiler sources and do
basically anything with it. But if that modified compiler compiles a
different language than the official 'D', that does not automatically mean
that you have the right to call that language fork 'D' and publish it on
the D forum.
I don't say that it's forbidden, it's just not covered by the compiler
license.

Tobi
September 17, 2014
On Wednesday, 17 September 2014 at 13:09:41 UTC, Tobias Müller wrote:
> basically anything with it. But if that modified compiler compiles a
> different language than the official 'D', that does not automatically mean
> that you have the right to call that language fork 'D' and publish it on
> the D forum.

No misunderstanding on my part here. It would be plain stupid to call it just "D".

 (please note that you cannot trademark a letter or common single words)