Unpopular opinion: i64, int64_t, Int64 and similar types should be named according to their actual meaning, Ring64.
Even better, all programming languages should have a Ring[N] type that provides unit, zero addition and multiplication over a domain of N-bit strings, with the compiler applying proper optimizations when available (and requested).
It IS a ring on most implementations, but there were good flexibility (and portability) reasons behind all behaviours left undefined in C.
Yet this is a good objection... for standard C.
Never trust non-GPL code... 🤣
You are technically right, but i think they SHOULD be rings (and named accordingly). So that programmers would learn from the beginning to live with the clear semantics of rings, always aware of the risk of overflow.
Actually the problem with #GPL and #AGPL is that they are not strong enough to protect and reserve the knowledge that free software expresses to the commons.
Full access to software sources and full right to hack it, just like writings and any other human expression, is the most fundamental human right.
Preventing such right to any human is preventing them to be human, a specie that defines itself as *homo sapiens sapiens*.
It's somewhat funny, but very incorrect.
Even MIT and BSD impose obligations on people builing on licensed code, just fewer than a #copyleft.
Actually, such swallow depiction of free software licenses is quite similar to calling int64_t as "integer". 😅
As for an even stronger copyleft, I wrote the #HackingLicense: http://www.tesio.it/documents/HACK.txt
I must admit that I'm not yet happy with its formulation, but it can give an idea of what I hate in weaker copylefts like the #AGPLv3.
I'm going to remove the "organizations" thing. Making it shorter would be nice but apparently I can't without opening to corporate abuse one way or another.
In any case, if you want to give it a read and show me a way it could advantage big corps, I'll promise I'll study a fix for that.
BUT Google does not use or extend AGPL software. Why?
I'd argue that a strong copyleft is better than a permissive license against steer manpower.
And that against such big corporations not even keeping the software closed source provide an effective protection.
The Hacking License, instead, gives the original authors full (non exclusive) copyright and patent grants on any derived work.
Fine... but why?
I mean, is this a philosophical hate against common good and the commons or something you consider pragmatic, apolitical... such as profit in a capitalist world or something like that?
Even if we do not agree on this matter (mostly because we do not agree), I'd really like to learn your perspective.
Mozart's music is common good.
So is Bethoven's or Vivaldi.
Shakespeare poems are common goods. And Montale's too.
Actually most of human knowledge is common good.
A huge amount of software is common good. I'd argue that most global cpu cycles at any given time this year are running free software that IS common good.
This does not means, in any way, that you shouldn't be paid for creating it if you want to.
So I deduce your is a fundamental mistrust in society, in the communities around you that could benefit from your work if it was available.
To be fair, you might be right on this. There is a huge risk we evolve back to egocentric apes unable to collaborate if not under the rule of few... owners.
As for me, I choose to still hope for the better from our specie.
Anyway... thank for sharing!
I don't.
On the contrary I expect most people to NOT subscribe my ideas, just because I've seen this happen so many times.
I'm really interested in your perspective, mostly because I do not understand it.
Being slaves of a common master (or few common master) is not enough to collaborate.
But in an individualist and materialist perspective, I see it's the best one can hope.
In a way, it's the curse of dimensionality at work.
I'm not sure I understand what you describe as a risk for the smaller company in your example.
Suppose that they actually release their super cool software (not algorithm) as AGPL and a competitor includes it in his own codebase: then they are violating the small company copyright for profit, from a legal perspective a criminal act that would lead them to jail.
As for Google, I know why they don't want to use AGPL code... which to my eyes is a great advantage of such license.
The objection about Vivaldi dying in poverty is a good one, but easily dismissed: the problem is NOT the fact his art is common good, but the fact he lived in an unjust system.
And this is actually a huge problem today too.
BUT people living in an unjust system can fight such system... or not.
I do.
Uhm... sure, maybe there is no "perfectly" just system, just like there is no perfect circle or perfect sphere in the real world.
Does it means that a sphere system is unconceivable?
If not, why should a just system be unconceivable?
Do we live in a just system?
No.
Could we live in a MORE just system?
Sure.
Now, I do not know exactly where you live but I'd guess it's somewhere in the US or in one of their colony.
I can really relate to your feeling: after decades of oppression it's totally natural to surrender and internalize the oppressor propaganda as if it was not just true, but the only possibly truth.
But, well... it's not.
"Homo homini lupus" is a very inefficient and irrational way of living together.
The energy each individual spend to compete with everybody else is subtracted to more productive tasks.
And obviously there are many alternatives.
One are gift societies, like nomadelfia https://www.nomadelfia.it/en/
But a less radical one is simply to produce common goods for a community, binding each member to rules to access such goods.
Community, commons and similar words all derive from latin "cum-munis" which meant "bound together by rules and mutually responsible".
Freed from competition, people can do much more with their time and energy!
But obviously, this simple rational consideration is not going to shaken your beliefs in individualism... that's not how oppressive religions work.
In any case... good luck!
@newt you accept the reign of proprietary software, the culture and the industry it established, and then try to come up with excuses for it. Copyleft rejects it and wants to displace it. The small company shouldn't compete with the large to establish it's own little international monopoly on it's own little obscure product, then whine about how copyleft doesn't help them. It should directly serve the local population like electricians, mechanics or plumbers do. It should create infrastructure and dictate quality standards. Nobody want to do this hard work, it's just easier accept the narrative that copyleft was tried and didn't work, which remains the last line of defense for the established culture. We don't know what a true competition is, in true competition most of us would be yer average plumbers, and none of us wants it.
@Ted @Shamar @duponin
@newt The reason microsoft does not own the world today is copyleft, the fact that its the competitors embraced the same culture instead of rejecting it is the problem, not copyleft. Copyleft will eventually displace them too. Your "I don't give a damn" attitude only helps them.
@Ted @Shamar @duponin
@newt I meant the software world. I'm talking about the industry not some grandiose, all encompassing ideology. The reason microsoft doesn't own the entire industry is GCC. GPL != copyleft, GPL is a tool, that can work or not work. Copyleft is a cultrue. The only thing google owns that is in the realm of unjust abuse of copyright and where licenses matter at all is a couple of platform. If a couple key projects, that only existed thanks to GPL2, embraced the culture and upgraded their tools to GPL3 or AGPL (instead of admitting that they had no clue what GPL2 is even about) this would not have happened. WEB and all of it's standards is a pathology that formed to escape microsoft's ownership of desktop market, and it will eventually implode, when desktop market is reclaimed. I don't know what linux propaganda you talk about, but the only one I'm aware of is "as long as my project is successful I don't give a damn that it's in snake oil industry".
I'm not imposing anything on you, I simply joined the discussion to present my point of view. Your implication that I'm imposing on a public discussion is equivalent of asking me to simply stfu, which I must admit is commonly considered a very strong argument.
@newt every competing operating system for the longest time was built with GCC. How competing could they be if they had to license microsoft's proprietary toolchain? Many hardware designers/manufacturers were lifted of the curse of "but will the software monopolist port their software for my new arch??".
Now of course everyone's favorite llvm came along, with exactly the same ideas of "copyleft doesn't work", "permissive means more freedom" (including freedom to exploit users), and in all this years of claiming technical superiority, the fact that it hasn't driven gcc out of the market is making it more and more clear, that the real reason for its existence is the proprietary forks galore, by nvidia, apple, and others, and if push come to shove with android, google surely as well, as it has already preemptively dropping support for gcc, when the replacement was designed to be almost identical, and not in any way incompatible.
@newt what are you even arguing with? Where did I say GCC took over the desktop market? GCC allowed competing operating systems and architectures to take over alternate markets, embedded, servers, mobile. Whatever competition exist (barely) in desktop market as well owes its existence to GCC. Software product is a fallacy, selling it is exploitation. Only thing you can reasonably sell in our industry is technical service and warranty. Yes the current snake oil industry hinges on marketing, that is not a good thing, or something to strive for.
Sure thing LLVM is in every way technically superior and that is why GCC is still going toe to toe with it after a decade of competition. And omg It's so modular that every language worth a dime has to fork it.
GCC on the other hand apparently is not modular enough where you want it to be, and too modular where you don't want it be. And of course it is impossible to fork GCC to eliminate those glaring flaws that RMS personally demands, cause you know, that's how GPL works. I don't care about the mythology and politics around any of these celebrities, saying that they are preventing anything for GCC is a non-argument. Competition is not about being nice and wonderful and always agreeing with everything, if you think your ideas are better, fork it, if you can't fork it, than you abstract musings are irrelevant.
Reinventing wheels is common in R&D. But marketing R&D before it's ready, trying to influence the public through buzzwords and drama, and deliberately avoiding any sorts of guarantees are characteristics of a snake oil industry.
You mentioned a bunch of dead people, but that's what they are now. Dead people. They can no longer benefit from the results of their endeavors. This is why there is this thing called public domain now, and I wouldn't mind if my works become public domain in many many years, but just as Shakespeare during his lifetime, I intend to profit from my work as much as I can right now.
Regarding Google and AGPL. One of the biggest risks related to this license is rather unclear application practices. They haven't been enough court cases to know what to expect in case you land there. Nobody wants to be the first one here, not even Google with their army of lawyers.
Here's their reasoning regarding AGPL:
>The primary risk presented by AGPL is that any product or service that depends on AGPL-licensed code, or includes anything copied or derived from AGPL-licensed code, may be subject to the virality of the AGPL license. This viral effect requires that the complete corresponding source code of the product or service be released to the world under the AGPL license. This is triggered if the product or service can be accessed over a remote network interface, so it does not even require that the product or service is actually distributed. Because Google’s core products are services that users interact with over a remote network interface (Search, Gmail, Maps, YouTube), the consequences of an engineer accidentally depending on AGPL for one of these services are so great that we maintain an aggressively-broad ban on all AGPL software to doubly-ensure that AGPL could never be incorporated in these services in any manner.
From https://opensource.google/docs/using/agpl-policy/
For a smaller company, the risk is even bigger. Imagine your competitor suing your on the grounds of the use of some AGPL piece of code and demanding you release the algorithm behind your successful whatever internet service, then copying it and incorporating into their service. Without actually releasing the source code. Totally realistic scenario, if you ask me.
Btw, Vivaldi died in poverty. As did many other famous artists in his time. Would you like to follow his example?