C++ Logo

std-proposals

Advanced search

Re: SCC / ISO IEC - C++ Superset

From: Phil Bouchard <boost_at_[hidden]>
Date: Thu, 5 Aug 2021 12:52:28 -0400
On 8/5/21 11:35 AM, Jason McKesson via Std-Proposals wrote:
> On Thu, Aug 5, 2021 at 12:47 AM Phil Bouchard <boost_at_[hidden]> wrote:
>>
>>> On 8/4/21 11:09 PM, Jason McKesson wrote:
>>> Personally, I'd rather C++ die a slow death against Rust than have it
>>> encumbered by patents.
>> (That's the last thing I would expect to hear from a ISO C++ committee member... but okay)
>>
>> We still have legacy code around anyways.
> I'm not a member of the committee; I'm just a regular C++ user. But
> yes, I feel that way.
>
> Patents are like a form of censorship, and the Internet treats
> censorship like damage: it routes around it. Stick patents into C++,
> and you've given its users one more reason to migrate to something
> else. And we C++ users will deserve that for allowing you to do this.

Ok I see at the same time that a dual smart pointer / garbage collection
is not an option for C++ either.

Let me see what I can do then.

>
> I like C++, but I'm not married to it. I'm a programmer first and a
> C++ user second. Whatever it takes to get the job done is what I'll
> use. And if a tool becomes corrupted, I will go find one that lacks
> said corruption.
>
> On Thu, Aug 5, 2021 at 9:26 AM Phil Bouchard via Std-Proposals
> <std-proposals_at_[hidden]> wrote:
>>
>> On 8/5/21 3:35 AM, Jonathan Tanner wrote:
>>
>> I was interested in this root_ptr so I had a look and I’ve got to say that it doesn’t appear particularly similar to Herb Sutter’s deferred_heap/deferred_ptr to me, the primary point of that, as given in the name, is that it defers destructor calls by storing them so that you can be sure that all the correct destructors will be called and root_ptr doesn’t do this. Also deferred_heap/deferred_ptr has its own allocator that means that you don’t have to pass around node_proxys. Finally when a deferred_heap is destructed, or cleanup performed, it nulls out deferred_ptrs first so that you don’t need to check for cycles explicitly in your destructor.
>> The only thing that seems to have been embraced from root_ptr is the idea of trying to deal with reference counting cycles.
>>
>> Well both are "region-based memory managers" and forces destruction of nested objects somehow linked together.
>>
>> And here's even more evidence from the original Boost mailing list I am working on this wayyy back before Herb Sutter:
>>
>> https://lists.boost.org/Archives/boost/2008/07/140100.php
>>
>>
>>> Finally though, in the CppCon talk when this was presented it was made very clear that this was an experiment and that someone else could take this and run with it, if you take the innovations from deferred_ptr and integrate them into root_ptr I’m sure Herb would be delighted, this is the whole point of open source.
>> I'm not sure why the mentality of the community in software engineering prevents any capital gains (except for Gates and Ballmer),
> Why do you equate "patents" with "capital gains"? Software patents,
> more often than not, are used to *stiful* innovation and utility.
>
> Innovation happens best and most effectively when everyone is free to
> take good ideas where they find them and build off of them. Software
> patents prevent this by making everyone think about whether their code
> is using something that will get them sued by a patent troll. So not
> only do they have to write the program, they have to do some legal
> work to make sure they're not using anything that'll get them in
> trouble later. That doesn't help innovation; it only helps people who
> buy up patents and sit on them. They lurk out there, waiting for the
> day when they can pounce on some application that manages to get
> popular enough to be worth skimming some cash from.

The Apache license protects both the licensee and patent holder.


>
> That kind of "capital gains" doesn't help improve software. How many
> open-source programs can't ship popular video codecs legally because
> those algorithms are under patents? How does that help improve
> software?
>
> You don't need software patents to make money off of software.
> Companies besides Microsoft manage to do this all the time.
>
> And your obsession with Microsoft seems very 90s; you're basically
> living in a world where you think Microsoft is still the most
> important software maker. They never "embraced and extended" anything
> you did. 3D graphing calculator programs existed before yours *and*
> Microsoft's; they didn't make one just because you presented one to
> them. And using some elements of ideas for dealing with memory
> management that *dozens of people* have been iterating on is not
> "embrace and extend".

Unfortunately most software makers in Canada seem to get embraced and
extended by bigger US corps. It happened with Corel, Blackberry, and
Nortel Networks in a way. That's just an observation, not a complaint. I
did work in both countries so that's no issue with me.

> Microsoft is not your personal adversary who is trying to ruin your
> life specifically. Treating them as such feels... really weird.
> *Especially* since they do make one of the 3 most important C++
> compilers, and you would be in a position to leverage your software
> patents in C++ against them.
>
> That is, you have personal animosity against one of the most important
> C++ compiler makers, and you're angling to have control over who gets
> to make future C++ implementations. That sounds like a conflict of
> interest. I'm not saying that this is truly our goal or anything. But
> your clear animosity towards one of the most important C++ compiler
> vendors doesn't make me feel comfortable with you having such power
> over C++ compilers.
>
> I'm not asking you to like Microsoft. But this level of irrational
> distrust doesn't inspire confidence in your ability to remain
> objective when it comes to them.

You're right that their compiler and association with Intel for decades
was perhaps not innovative to the extreme but quite productive. Intel
wouldn't be as important without IBM and Microsoft after all.

>
>> Clang at least allows using their own code for commercial purposes
> Don't assume this means they'll be happy with software patents in
> their code. I mean, they *might*, but you should probably ask them
> first.
I can ask. I just felt that the committee was the top of the pyramid.

I'll find a way to contribute and make everybody happy sooner or later.
Thanks.

-- 
*Phil Bouchard*
Founder & CTO
C.: (819) 328-4743
Fornux Logo <http://www.fornux.com>

Received on 2021-08-05 11:52:33