Re: Using stringize and string concatenation in ghc preprocessing

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
37 messages Options
12
Reply | Threaded
Open this post in threaded view
|

Re: Using stringize and string concatenation in ghc preprocessing

Sven Panne-2
2017-01-23 22:42 GMT+01:00 Ben Franksen <[hidden email]>:
Am 23.01.2017 um 21:21 schrieb Sven Panne:
> [...] Something like this happened to me at least three times in my career, and
> even if it's not direct refusal to accept such licenses, there are quite a
> few companies (especially bigger ones) which require a *lenghty* process to
> get SW with such licenses approved. This doesn't exactly encourage
> engineers to take that route... [...]

Ok, still anecdotal evidence.

Well, seriously: What did you expect? That somebody here comes up with numbers like: "X% of company lawyers prefer to take the safe (i.e. ban GPL) route because of personal reasons and don't care about the greater good of their company"? Interesting numbers, sure, but a bit hard to figure out, I guess...
 
Yes, there are such companies/lawyers. Perhaps this is enough to justify caution. I would still like to see
some numbers.

OK, how to get them? 
 
> There is no such thing as "the company", basically people are acting as
> individuals (see above).

Ah, well. So if the CEO thinks opportunities trump the risks he/she
*could* just overrule whatever the lawyers say. [...]

Same reasoning again: You basically get promoted by avoiding disaster (= law suit), not by being a hero who took some risks. Or at least take the risks and get quickly promoted away, before disaster happens. :-P So yes, they could overrule, but from my anecdotal evidence, this rarely happens. Would you like to be the one who said "I didn't care about what my lawyers said, and now we have this multi-million dollar law suit."?

[...] Perhaps. I suspect that whatever corporate lawyers may say against GPL
is simply irrational fear and stupid conservatism.

We could talk endlessly about this, and this might even be true, but it doesn't change the basic fact: Lawyers are there to avoid damage for the company, and so they act...

_______________________________________________
Haskell-Cafe mailing list
To (un)subscribe, modify options or view archives go to:
http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
Only members subscribed via the mailman list are allowed to post.
Reply | Threaded
Open this post in threaded view
|

Re: Using stringize and string concatenation in ghc preprocessing

Ben Franksen
In reply to this post by Brandon Allbery
Am 23.01.2017 um 22:37 schrieb Brandon Allbery:

> On Mon, Jan 23, 2017 at 4:10 PM, Ben Franksen <[hidden email]>
> wrote:
>
>> I have no doubt that there are companies and/or lawyers like that. What
>> I doubt is that this is the overwhelming majority, as you seemed to
>> suggest ("...most corporate lawyers..."). All the evidence you and Sven
>> provided is merely anecdotal.
>>
>
> Mrrr. I was trying to back that off a bit; the real issue is not that it's
> "most", it's "enough to make ghc problematic". The last thread about cpphs
> (quick search gets me
> https://mail.haskell.org/pipermail/ghc-devs/2015-May/009106.html from the
> middle of it and containing a decent summary) indicated that a significant
> number of high profile Haskell users would be forced to drop Haskell if
> cpphs went into ghc, because they'd have to face the uphill battle of
> getting corporate lawyers to okay it again.

I can accept that.

> "Just do it and fix the fallout afterward" is not a solution; once in,
> those lawyers would think twice about reinstating ghc if it were
> subsequently removed, because that's the safe stance legally speaking.

Ok.

So it is not advisable to integrate cpphs in ghc. I have no problem with
that.

Could we, instead, make it easy to use cpphs as drop-in replacement for
cpp, so that it gets used whenever when the CPP language pragma is in
effect? On platforms where the standard CPP is the one by GNU, cpphs
could even be made the default.

Cheers
Ben
--
"Make it so they have to reboot after every typo." ― Scott Adams

_______________________________________________
Haskell-Cafe mailing list
To (un)subscribe, modify options or view archives go to:
http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
Only members subscribed via the mailman list are allowed to post.
Reply | Threaded
Open this post in threaded view
|

Re: Using stringize and string concatenation in ghc preprocessing

Ben Franksen
In reply to this post by Sven Panne-2
Am 23.01.2017 um 23:25 schrieb Sven Panne:
> 2017-01-23 22:42 GMT+01:00 Ben Franksen <[hidden email]>:
> We could talk endlessly about this

Right. I am tired of it, too. I am ready to concede that there are
/enough/ of these people around that it is a real problem for some
Haskell users.

For me things are exactly the opposite: as a Haskell preprocessor, using
cpphs is the much safer option compared to CPP. History has shown that
e.g. the gcc developers change cpp's behaviour in ways that are
incompatible with using cpp for anything other than C or C++, even if
that means interpreting the C standard in quite a liberal way.

I would very much like to be able to use cpphs as a drop-in replacement
for cpp and to be able to change the default cpp in a ghc configuration
file, rather than at compile time (so I can still use a ghc packaged for
my distro).

Cheers
Ben
--
"Make it so they have to reboot after every typo." ― Scott Adams

_______________________________________________
Haskell-Cafe mailing list
To (un)subscribe, modify options or view archives go to:
http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
Only members subscribed via the mailman list are allowed to post.
Reply | Threaded
Open this post in threaded view
|

Re: Using stringize and string concatenation in ghc preprocessing

Richard A. O'Keefe
In reply to this post by Sven Panne-2
I note that a company I worked for refused to have any GPL software
on their machines, even GCC, due to legal advice.  That was a couple
of revisions of the GPL ago, but some scars last.
_______________________________________________
Haskell-Cafe mailing list
To (un)subscribe, modify options or view archives go to:
http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
Only members subscribed via the mailman list are allowed to post.
Reply | Threaded
Open this post in threaded view
|

Re: Using stringize and string concatenation in ghc preprocessing

Andrew Butterfield-2
In reply to this post by Ben Franksen
Why not write a new Haskell version of CPP  with a more corporate-friendly OS license?

(HPP ?)

> On 23 Jan 2017, at 23:43, Ben Franksen <[hidden email]> wrote:
>
> Am 23.01.2017 um 23:25 schrieb Sven Panne:
>> 2017-01-23 22:42 GMT+01:00 Ben Franksen <[hidden email]>:
>> We could talk endlessly about this
>
> Right. I am tired of it, too. I am ready to concede that there are
> /enough/ of these people around that it is a real problem for some
> Haskell users.
>
> For me things are exactly the opposite: as a Haskell preprocessor, using
> cpphs is the much safer option compared to CPP. History has shown that
> e.g. the gcc developers change cpp's behaviour in ways that are
> incompatible with using cpp for anything other than C or C++, even if
> that means interpreting the C standard in quite a liberal way.
>
> I would very much like to be able to use cpphs as a drop-in replacement
> for cpp and to be able to change the default cpp in a ghc configuration
> file, rather than at compile time (so I can still use a ghc packaged for
> my distro).
>
> Cheers
> Ben
> --
> "Make it so they have to reboot after every typo." ― Scott Adams
>
> _______________________________________________
> Haskell-Cafe mailing list
> To (un)subscribe, modify options or view archives go to:
> http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
> Only members subscribed via the mailman list are allowed to post.

Andrew Butterfield
School of Computer Science & Statistics
Trinity College
Dublin 2, Ireland

_______________________________________________
Haskell-Cafe mailing list
To (un)subscribe, modify options or view archives go to:
http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
Only members subscribed via the mailman list are allowed to post.
Reply | Threaded
Open this post in threaded view
|

Re: Using stringize and string concatenation in ghc preprocessing

Stefan Monnier
In reply to this post by Brandon Allbery
> middle of it and containing a decent summary) indicated that a significant
> number of high profile Haskell users would be forced to drop Haskell if
> cpphs went into ghc, because they'd have to face the uphill battle of
> getting corporate lawyers to okay it again.

Self-censorship based on fear.

The power of FUD.


        Stefan

_______________________________________________
Haskell-Cafe mailing list
To (un)subscribe, modify options or view archives go to:
http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
Only members subscribed via the mailman list are allowed to post.
Reply | Threaded
Open this post in threaded view
|

Re: Using stringize and string concatenation in ghc preprocessing

Stefan Monnier
In reply to this post by Richard A. O'Keefe
> I note that a company I worked for refused to have any GPL software
> on their machines, even GCC, due to legal advice.  That was a couple
> of revisions of the GPL ago, but some scars last.

By "some scars last", do you mean "I'll stay away from that company"?


        Stefan

_______________________________________________
Haskell-Cafe mailing list
To (un)subscribe, modify options or view archives go to:
http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
Only members subscribed via the mailman list are allowed to post.
Reply | Threaded
Open this post in threaded view
|

Re: Using stringize and string concatenation in ghc preprocessing

Audun Skaugen
In reply to this post by Ben Franksen
ma., 23.01.2017 kl. 20.55 +0100, skrev Ben Franksen:

> Do you have any evidence to support this statement? I ask because if
> what you say is true, most companies willfully and severely restrict
> their options. For instance, a company that employs lawyers who
> "won't
> touch GPL3 or even LGPL3 with a ten foot pole" could not use Linux in
> any way (the kernel is GPL licensed), nor e.g. Android (based on
> Linux
> kernel).
>
> I have no data on how many companies in the world use Linux. What I
> do
> know is that many companies, even big corporations, actually support
> the
> Linux kernel with code (e.g. drivers), thus triggering the most
> restricting clauses in the GPL. For instance, Volkswagen AG has
> contributed socketcan to the kernel.

Actually, the Linux kernel is GPLv2 licenced[1]. I believe companies
are more comfortable with version 2 than version 3.

[1]: https://www.kernel.org/category/faq.html
_______________________________________________
Haskell-Cafe mailing list
To (un)subscribe, modify options or view archives go to:
http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
Only members subscribed via the mailman list are allowed to post.
Reply | Threaded
Open this post in threaded view
|

Re: Using stringize and string concatenation in ghc preprocessing

Anthony Cowley
In reply to this post by Andrew Butterfield-2


> On Jan 24, 2017, at 3:11 AM, Andrew Butterfield <[hidden email]> wrote:
>
> Why not write a new Haskell version of CPP  with a more corporate-friendly OS license?
>
> (HPP ?)

I already wrote hpp, and it's been on hackage for a while now. Its test suite puts it through the spec conformance portion of the mcpp test suite, so one can be somewhat confident that it does the fiddly things correctly. That said, I did find and fix bugs when running it over lens (a sigil-rich environment, to be sure) during testing, so there may yet be Haskell code it doesn't play well with.

It is fairly fast, memory-efficient, written entirely in Haskell, on GitHub, and BSD-licensed.

Anthony


>
>> On 23 Jan 2017, at 23:43, Ben Franksen <[hidden email]> wrote:
>>
>> Am 23.01.2017 um 23:25 schrieb Sven Panne:
>>> 2017-01-23 22:42 GMT+01:00 Ben Franksen <[hidden email]>:
>>> We could talk endlessly about this
>>
>> Right. I am tired of it, too. I am ready to concede that there are
>> /enough/ of these people around that it is a real problem for some
>> Haskell users.
>>
>> For me things are exactly the opposite: as a Haskell preprocessor, using
>> cpphs is the much safer option compared to CPP. History has shown that
>> e.g. the gcc developers change cpp's behaviour in ways that are
>> incompatible with using cpp for anything other than C or C++, even if
>> that means interpreting the C standard in quite a liberal way.
>>
>> I would very much like to be able to use cpphs as a drop-in replacement
>> for cpp and to be able to change the default cpp in a ghc configuration
>> file, rather than at compile time (so I can still use a ghc packaged for
>> my distro).
>>
>> Cheers
>> Ben
>> --
>> "Make it so they have to reboot after every typo." ― Scott Adams
>>
>> _______________________________________________
>> Haskell-Cafe mailing list
>> To (un)subscribe, modify options or view archives go to:
>> http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
>> Only members subscribed via the mailman list are allowed to post.
>
> Andrew Butterfield
> School of Computer Science & Statistics
> Trinity College
> Dublin 2, Ireland
>
> _______________________________________________
> Haskell-Cafe mailing list
> To (un)subscribe, modify options or view archives go to:
> http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
> Only members subscribed via the mailman list are allowed to post.

_______________________________________________
Haskell-Cafe mailing list
To (un)subscribe, modify options or view archives go to:
http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
Only members subscribed via the mailman list are allowed to post.
Reply | Threaded
Open this post in threaded view
|

Re: Using stringize and string concatenation in ghc preprocessing

Ben Franksen
Am 24.01.2017 um 17:07 schrieb Anthony Cowley:
>> On Jan 24, 2017, at 3:11 AM, Andrew Butterfield <[hidden email]> wrote:
>>
>> Why not write a new Haskell version of CPP  with a more corporate-friendly OS license?
>>
>> (HPP ?)
>
> I already wrote hpp, and it's been on hackage for a while now. Its test suite puts it through the spec conformance portion of the mcpp test suite, so one can be somewhat confident that it does the fiddly things correctly. That said, I did find and fix bugs when running it over lens (a sigil-rich environment, to be sure) during testing, so there may yet be Haskell code it doesn't play well with.
>
> It is fairly fast, memory-efficient, written entirely in Haskell, on GitHub, and BSD-licensed.

That's like music (progressive rock, to be specific) in my ears!

Cheers
Ben
--
"Make it so they have to reboot after every typo." ― Scott Adams

_______________________________________________
Haskell-Cafe mailing list
To (un)subscribe, modify options or view archives go to:
http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
Only members subscribed via the mailman list are allowed to post.
Reply | Threaded
Open this post in threaded view
|

Re: Using stringize and string concatenation in ghc preprocessing

Ben Franksen
In reply to this post by Audun Skaugen
Am 24.01.2017 um 16:24 schrieb Audun Skaugen:

> ma., 23.01.2017 kl. 20.55 +0100, skrev Ben Franksen:
>> Do you have any evidence to support this statement? I ask because if
>> what you say is true, most companies willfully and severely restrict
>> their options. For instance, a company that employs lawyers who
>> "won't
>> touch GPL3 or even LGPL3 with a ten foot pole" could not use Linux in
>> any way (the kernel is GPL licensed), nor e.g. Android (based on
>> Linux
>> kernel).
>>
>> I have no data on how many companies in the world use Linux. What I
>> do
>> know is that many companies, even big corporations, actually support
>> the
>> Linux kernel with code (e.g. drivers), thus triggering the most
>> restricting clauses in the GPL. For instance, Volkswagen AG has
>> contributed socketcan to the kernel.
>
> Actually, the Linux kernel is GPLv2 licenced[1]. I believe companies
> are more comfortable with version 2 than version 3.
>
> [1]: https://www.kernel.org/category/faq.html

Same with cpphs: GPLv2 for the program, for the library it's LGPLv2, and
there is also LICENCE-commercial which allows unrestricted distribution
of the binary (w/o sources).

Cheers
Ben
--
"Make it so they have to reboot after every typo." ― Scott Adams

_______________________________________________
Haskell-Cafe mailing list
To (un)subscribe, modify options or view archives go to:
http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
Only members subscribed via the mailman list are allowed to post.
Reply | Threaded
Open this post in threaded view
|

Re: Using stringize and string concatenation in ghc preprocessing

Richard A. O'Keefe
In reply to this post by Stefan Monnier


On 25/01/17 2:44 AM, Stefan Monnier wrote:
>> I note that a company I worked for refused to have any GPL software
>> on their machines, even GCC, due to legal advice.  That was a couple
>> of revisions of the GPL ago, but some scars last.
>
> By "some scars last", do you mean "I'll stay away from that company"?

No, of course not.  The key point was that we were a small company
and would not have survived a law suit, win or lose.  That company
no longer exists, in any case.  The venture capitalists whose
lawyers' advice we followed do exist, but I no longer work for a
startup.
_______________________________________________
Haskell-Cafe mailing list
To (un)subscribe, modify options or view archives go to:
http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
Only members subscribed via the mailman list are allowed to post.
Reply | Threaded
Open this post in threaded view
|

Re: Using stringize and string concatenation in ghc preprocessing

Stefan Monnier
>>> I note that a company I worked for refused to have any GPL software
>>> on their machines, even GCC, due to legal advice.  That was a couple
>>> of revisions of the GPL ago, but some scars last.
>> By "some scars last", do you mean "I'll stay away from that company"?
> No, of course not.  The key point was that we were a small company
> and would not have survived a law suit, win or lose.

I don't follow: the "keep away from GPL" stance seems to only make sense
in the context of a very large corporation where the potential benefit
of that one little tool (GHC) is dwarfed by the general risk of using
things whose license can't be controlled via money.

In the context of a small company, rather than a general stance, I'd
expect it is worth looking at each specific case (since that one tool
would likely represent a more significant portion of the overall set of
tools in use), and drop the hysteria.

Reality check: Has anyone ever heard of a company sued because they use
a GPL'd tool?  Ever?  How 'bout in your wildest dream, maybe?


        Stefan

_______________________________________________
Haskell-Cafe mailing list
To (un)subscribe, modify options or view archives go to:
http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
Only members subscribed via the mailman list are allowed to post.
Reply | Threaded
Open this post in threaded view
|

Re: Using stringize and string concatenation in ghc preprocessing

Bryan Richter-2
On Tue, Jan 24, 2017 at 11:36:35PM -0500, Stefan Monnier wrote:

> >>> I note that a company I worked for refused to have any GPL
> >>> software on their machines, even GCC, due to legal advice.  That
> >>> was a couple of revisions of the GPL ago, but some scars last.
> >> By "some scars last", do you mean "I'll stay away from that
> >> company"?
> > No, of course not.  The key point was that we were a small company
> > and would not have survived a law suit, win or lose.
>
> I don't follow: the "keep away from GPL" stance seems to only make
> sense in the context of a very large corporation where the potential
> benefit of that one little tool (GHC) is dwarfed by the general risk
> of using things whose license can't be controlled via money.
In general, it has nothing to do with controlling the software.

In the American legal system (which inherits from the British system),
the rules are defined based on previously-established rules
("precedent"). This contrasts it with, say, the discipline of physics,
which continuously tries to discover first principles. Law just keeps
accreting its principles.

One effect of this is that it is easy to tell if you are on safe ground.
Are you doing something that is exactly like something else that has
already been decided on? Then you can be pretty certain you will know
the legal results of your actions. You can know if it's "safe" or
"risky". Some issue that has not been explored in much detail is
decidedly risky. The act of creating new legal principles is long, very
costly, and entirely uncertain. The act alone will kill most small
organizations, whether or not the result is in their favor.

The GPL still has a very sparse legal history.

Lawyers are rationally conservative. They will warn their clients of the
sparse legal history of the GPL. Thus, if using GPL'd software is not
related to a company's mission, the smart executive will avoid it. Why
open yourself to unnecessary risk? Why not simply using one of the
dozens of other solutions that have less uncertainty? This is
*especially* true for smaller companies!

Please note I'm playing Devil's advocate here. I use the GPL myself, and
think highly of it. I simply understand that antagonizing people who
rationally avoid it will get us nowhere.

> Reality check: Has anyone ever heard of a company sued because they
> use a GPL'd tool?  Ever?  How 'bout in your wildest dream, maybe?

I can list a few, mostly involving Linux. But only a few. That's the
problem.

Here's a FAQ about one such case:
https://sfconservancy.org/copyleft-compliance/vmware-lawsuit-faq.html

Note that the SFC very carefully chose the venue for this case: Germany,
which apparently does not have a precedent-based legal system. The SFC
are trying to build a base of legal history for the GPL in the safest,
most conservative manner possible.

_______________________________________________
Haskell-Cafe mailing list
To (un)subscribe, modify options or view archives go to:
http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
Only members subscribed via the mailman list are allowed to post.

signature.asc (817 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Using stringize and string concatenation in ghc preprocessing

Stefan Monnier
>> Reality check: Has anyone ever heard of a company sued because they
>> use a GPL'd tool?  Ever?  How 'bout in your wildest dream, maybe?
> I can list a few, mostly involving Linux.

Notice I said "use a GPL'd tool".  The cases such as VMware or
Linksys/Cisco are quite different from using GHC for development.


        Stefan

_______________________________________________
Haskell-Cafe mailing list
To (un)subscribe, modify options or view archives go to:
http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
Only members subscribed via the mailman list are allowed to post.
Reply | Threaded
Open this post in threaded view
|

Re: Using stringize and string concatenation in ghc preprocessing

Joe Hillenbrand
All these companies that have lawyers that say "avoid GPL" are using
Linux, gcc, Emacs, and many other GPL tools, even if they don't
realize it, including Apple and Microsoft. This whole argument is
dangerous FUD.

On Thu, Jan 26, 2017 at 3:25 PM, Stefan Monnier
<[hidden email]> wrote:

>>> Reality check: Has anyone ever heard of a company sued because they
>>> use a GPL'd tool?  Ever?  How 'bout in your wildest dream, maybe?
>> I can list a few, mostly involving Linux.
>
> Notice I said "use a GPL'd tool".  The cases such as VMware or
> Linksys/Cisco are quite different from using GHC for development.
>
>
>         Stefan
>
> _______________________________________________
> Haskell-Cafe mailing list
> To (un)subscribe, modify options or view archives go to:
> http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
> Only members subscribed via the mailman list are allowed to post.
_______________________________________________
Haskell-Cafe mailing list
To (un)subscribe, modify options or view archives go to:
http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
Only members subscribed via the mailman list are allowed to post.
Reply | Threaded
Open this post in threaded view
|

Re: Using stringize and string concatenation in ghc preprocessing

Stefan Monnier
In reply to this post by Stefan Monnier
>>> Reality check: Has anyone ever heard of a company sued because they
>>> use a GPL'd tool?  Ever?  How 'bout in your wildest dream, maybe?
>> I can list a few, mostly involving Linux.

One more thing: in your list, please include the number of years of
negotiation before the lawsuit was filed.


        Stefan

_______________________________________________
Haskell-Cafe mailing list
To (un)subscribe, modify options or view archives go to:
http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
Only members subscribed via the mailman list are allowed to post.
12