Why would Amazon want the founder off the project? See the following presentation which interestingly enough, is no longer indexed by DuckDuckGo nor Google:
The third wave of open source software is no software at all. It is only a matter of time before Amazon doesn't care whether it's licensed Apache2 or not. They will just take software and sell it. You have a problem with that? Have fun suing them... Year 1..2..3..oooo. you are quite the fish..4..5. broke. Out of money.
Initially, licence the software as AGPLv3. Then, if necessary, assign copyright to someone like the FSF or the Software Freedom Conservancy who has the goodwill to attract sponsors to keep up a suit for as long as necessary.
Me too I realized that criticism towards AWS brings downvotes on HN. A bit strange because it's usually the opposite online. Maybe a lot of HN readers are working for AWS.
"Vendors developing those open source products started accusing AWS of strip mining, i.e., reaping the benefits of the products, without contributing back to their development."
Linux contributions are not the best example, since it's GPL, and you pretty much have to contribute back to get your changes mainlined, and end-users can request your changes at any time.
Now, if they contributed back to FreeBSD, that would be meaningful, since they don't have to.
Amazon doesn't distribute Linux on server hardware (just consumer hardware like the Kindle) so they don't have to give back for server aspects of Linux like KVM, yet in the Linux kernel code, the Amazon employees are mostly submitting patches for things like KVM, not for Kindle hardware support.
It would surprise me if Amazon use FreeBSD, I thought they use Xen & Linux KVM exclusively?
It's truly awesome that I can send an email to Amazon
saying "we're seeing an odd performance issue here" and
get back "here's a FreeBSD kernel patch I just wrote which
provides a 10% performance boost".
And people claim that Amazon never contributes back to
open source...
"strip mine" is in the zdnet article linked above, have a look. (Resells without contributing back in any meaningful way, instead hurting the oss company financially).
"Destroyed" was an exaggeration, at least as of today.
However I like and use some of the oss projects Amazon strip mines -- if Amazon instead paid the oss companies a part of want Amazon makes, that'd let those oss projects hire more people, improve the software even more -- and that I would appreciate, and could be made in a mutually beneficial way I think.
This isn't a new problem, for eg web hosting companies have been selling Apache/PHP hosting for decades. Apache and PHP were made more useful because of that reselling rather than being negatively affected by it. I think the only difference now is these OSS companies are VC backed so they have to get huge growth to pay back their giant loans.
I watched a talk recently that argued that Amazon increases the size of the market available for the software the OSS companies are producing. So the pie increases in size and the result is likely to be more money available for the software, not less.
The OSS companies you refer to are more about using OSS as the new shareware, a loss leader or poison pill to sell proprietary software, their business model isn't about open source at all.
> 'the only difference now is these OSS companies are VC backed so they have to get huge growth'
That's a good point.
> their business model isn't about open source at all.
(What do you consider open source biz models?)
> OSS as the new shareware
I think I understand what you mean. At the same time, in my case using only the OSS parts of the open core software, has been more than what I've needed
> I watched a talk recently
That talk sounds interesting, ... If you remember the name or speaker maybe I can find it?
It wasn't the talk I was thinking of, but this NextCloud talk discusses various OSS business models and mentions the AWS vs VC-OSS issue, especially during the questions section.
The Postgres git repo doesn't make it easy to discover the employer of the commit authors, but yes, they do send patches to Postgres, here is a search of commits referencing mailing list discussions started by Amazon, plus a couple of examples of where they sent patches:
Some open-source projects have companies behind them - e.g. I am the founder of RudderStack, an open-source segment.
We have thought about this quite a bit. The way to address this is to make offering your OSS as-a-service from day-1. Initially, you are small and AWS won't care. Once you become big, you should be able to compete with AWS on the service offering - afterall you know your code best.
The problem arises when the OSS vendors had a different business model (open-source, on-prem support only) and AWS is able to completely own the as-a-service market.
I'm probably naive but I don't think you need that much money to sue AWS. They may afford an army of lawyers, but that's their problem. You can't buy a judge as far as I know.
Check out mm-ADT: http://rredux.com/mm-adt/. The goal of the project is to develop a distributed virtual machine and bytecode specification to make it easier to integrate processors, storage systems, and query languages.
There is something really special about the graph database space. For as long as the space has been around (15 or so years), every vendor and dedicated practitioner has taken solid jabs at trying to realize "the best way" to think about graph traversals.
This behavior seems particular to the graph space (vs. document, wide-column, relational, key/value, etc.). While this speaks to the complexity of the type of problems you can solve with graphs, thinking back, I believe this was a cultural anomaly. When it was Neo4j, OrientDB, TinkerPop: the language trifurcation occurred.
I'm excited that Neo4j is continuing to take the query language seriously. In an age when software development is about making it easy for the 90% of developers out there with REST APIs, GraphQL, and overly SQL'd embeddings, ... graph is still searching for "that best way."
I, personally, have moved on from language-level. However, our new work is going to help my fellow data system colleagues get there languages exposed to as many developers as possible regardless of data model. It is important to me that people can come to respect the numerous ways in which we think about data and has the language we use is so important. The difference between living in Plato's Cave or not.
In an effort to support query languages in general, I'll be working on mm-ADT designing a new cluster-oriented virtual machine architecture for storage, processing, and query language developers. I see a veritable Tower of Babel on the horizon!
Congrats Neo4j on reaping the benefits of your hard work. I hope our work will converge in for a positive collaboration in 2020.
For some reason you neglect to mention RDF graph data model and its SPARQL query language, which have been W3C standards since 1997 and 2008, respectively.
They have a healthy ecosystem of both open-source and commercial software, and unlike property graphs were designed with data interchange in mind from the outset.
SPARQL was the first and still is the only standard NoSQL query language.
> , which have been W3C standards since 1997 and 2008, respectively.
While RDF forms a graph, it is not a general graph model. In particular, two things that are enabled by graph databases (having data in the node itself, and associating data with edge) are not directly possible and need tricks such as relationship reification.
On the social side, the sectarism and bikeshedding tendencies of the community can be another turn off.
RDF is a directed graph model. Nowhere does it say properties have to have properties in a graph model. You can always model them as intermediary nodes.
Using intermediate node is changing the structure of the graph. RDF is not a general graph model. The fact that a node cannot hold data by itself (a link to literal is required) is risible.
Naming of nodes with IRI is also a ridiculous, especially in Linked Data where changing your hosting domain (and even the protocol to access data) requires changing the data itself.
Are you kidding? IRIs is what sets RDF above and beyond other data models. Global identifiers are crucial if you want to work with data interchange on a web scale.
Show me a definition of a "general graph model"? Nothing shows up on Wikipedia.
You can have global identifier without IRIs, for example using GUID (that’s the solution used for COM components for instance).
The thing is you can’t represent "A"->"B" directly in RDF. You need to stretch the representation to at least use a resource node as subject, but also for the object too if this node could be used as subject in another predicate. And of course both these resources must be encoded as IRI and then linked to the literals that contains the data. That’s four nodes and three links instead of two and one. It’s a lot of boilerplate code for a simple problem. And as said before, putting key:value on an edge require reification of the edge... which undermine the simple SPO model because it’s now SP(O as P)PO.
You may think it the same but it’s not. Usability matters and that’s why the SemWeb stack has almost zero adoption since its inception while graph databases are trendy.
It just wasn't "the scene" at the time. RDF/SPARQL had its world -- permeated throughout academia and some enterprise deployments with quad/triple-stores like AllegroGraph. But it wasn't going to make a PoW in the software industry because they didn't ride the razor-edge well enough.
OWL was a foolish mistake. Triple is a clean and simple idea, but in practice -- reification and URI character hell becoming mind numbing. The RDF-guys did nail it with SPARQL. That is such a pretty query language. Simple, intuitive. I haven't studied the recent path expression advances. I should.
I wrote the article on a boat with only an abstract algebra book, a LISP book, and a few articles that I had printed before I left. Thus, my references are my references. To then go back and back fill with references would not be an accurate representation of what I was truly referencing at the time.
But yes, there is a lot of related work out there. Hopefully, my approach and introduced novelties can inspire in a way others have not.
I read the article you recommended. It is interesting in that the authors include feedback to simulate loops and have explicit split and merge operators, where their + operator is used to create tuples in the stream. The text is dense so I haven't fully grocked their purpose, but it is nice to see the same concepts presented in a different formalism. If you have other links, please send them along.
Check out Gremlin by Apache TinkerPop: http://tinkerpop.apache.org/gremlin.html It is a Turing Complete language that can be embedded in any host language that supports function composition (f.g) and function nesting (f(g)). Finally, if this resonates with you, https://arxiv.org/abs/1508.03843 .
A colleague of mine who gets confused by "all the symbols" said that they appreciated the verbose stream notation that I build throughout the article. I would recommend giving the article a earnest try up through to page 5. Then after that, jump to page 17 and read Section 5C on Set Operations. See if the standard concepts of union, intersection, difference, etc. mixed with the verbose stream notation gives you insight and ultimately, the confidence to keep trying to tackle the work.
I'm not sure how what you are proposing is any better than sed. I said math envy since you resorted to using algebraic ring theory when there was a much simpler solution. xD
There are many Turing Complete languages. There are many stream-based languages. Moreover, there are many Turing Complete stream-based languages. These are instances of the presented stream ring algebra. I wanted to understand the foundation of such languages so as to have the algebraic toolkit to generate more instances.
I wrote the paper for technically savvy individuals who are not versed in abstract algebra. While writing the first 5 pages, I constantly asked myself: "Will my mom be able to follow what I'm saying?" Fortunately, after reading it, she said: "I get the general idea."
At page 5, the stream ring is defined as a product of the coefficient ring and the function ring and from there, the notation gets heavy and there was little I could do. Hopefully by building confidence in the reader up to page 5, they would have the patience to forge ahead because the true nuggets of value are in the latter parts of the article.
I can't read the Web page: If I have Firefox magnify the page, then much of the text is off the screen and with no horizontal scroll bars to put it on the screen. Without magnification, I'd need a strong magnifying glass to read the page character by character.
I studied abstract algebra, including groups, rings, fields, Galois theory, integral domains, vector spaces, modules, wrote my honors paper on group representations, etc. so would like to see what benefit ring theory has for software.
https://www.theregister.com/2021/02/23/apache_tinkerpop_spee...
Why would Amazon want the founder off the project? See the following presentation which interestingly enough, is no longer indexed by DuckDuckGo nor Google:
https://www.slideshare.net/slidarko/mmadt-a-virtual-machinea...