43 karma · joined February 25, 2016
I am well aware of the need to diversify. It is something I am actively working towards but there is no path from here to there overnight.
I still partly agree with your consumer stand point. Even if you rule out the business aspect Amazon is pretty entrenched in may ways from purely a consumer standpoint. If I personally don't care what happens to my account, what about my family? Will their kindles stop working, prime video, audible, whole foods, etc? They share some of the prime benefits so they would be affected as well.
How many processes are in place at Amazon to fight chargebacks? How do we know it won't trigger anything? How do I know they won't retroactively make a decision months or years later? Thats the risk I can't take.
The seller didn't even need to sell counterfeit items without running off with my money. Amazon customer support has no idea what to do since the third party is supposed to refund me.
The site and search experience is fast and I'd love to learn more about how it was built.
Or another way of looking at it: Open source has to be subsidized (either through free time or commercial backing) in order to continue to contribute to open source. The amount of time and effort to maintain a popular open source product is insane. They are creating a business model to continue to subsidize their open source contributions. Whats the alternative? Burnout and stagnation which would just result in forks and fracturing of the community if they are lucky.
---
I have been on the receiving end of Kyle's outrage and I too feel the need to speak out that he has acted in direct opposition to what he is now promoting. I was a new contributor to lerna, no previous interactions with Kyle or babel, and have experienced some of the following:
> My first PR was continuously rejected because he "did not understand my use case". I elaborated several times in great detail. Other project maintainers eventually chimed in that it was a good idea and should be accepted. Kyle continued to keep the issue closed and ignored all contact, including from other maintainers he works with, even to this day.
> My second interaction with Kyle was one of the most highly requested features for lerna (nested directory support). I championed the issue and over the course of a year I attempted to get direction on which path would be accepted to submit a PR. It was ignored, so after a year, I mentioned I wrote some custom scripts and used another project to fill in the gaps. This seemed to immediately set off Kyle and he immediately locked the issue.
> I opened a new issue since the original idea was accepted by Kyle and figured we could start fresh with a new discussion to avoid what led to him closing it in the first place. It was immediately Locked as well.
> I reached out to Kyle on twitter to understand why everything I posted is immediately locked. No response.
> I reached out on Discord to other staff members. Was also ignored. Eventually Kyle communicated with me on Discord with a very illuminating conversion. He didn't like the amount of github notifications he received so instead of unsubscribing he decided to lock all my threads. He provided several other reasons but essentially resorted to bullying tactics and said I should find another community.
> I opened a Code of Conduct investigation because he was actively suppressing all my communication. He abused his power on more than one occasion and the public conversations we had were very aggressive on his part. He was found to be at fault during the investigation by Sebastian. Sebastian said his attempts to talk to Kyle were dismissed. No other maintainers responded to the incident that were listed on the code of conduct. They said nothing can be done about it, so essentially suck it up, even though they mentioned the steps that will be taken in the Code of Conduct. It was a complete joke and they should not have this document live. The only outcome from this was Kyle re-opened the original github issue he suppressed.
> Other babel community members reached out and said they saw the chat and said sorry, it sucks, and they wish there was something they could do. It's nice to know there are people out there who recognize this toxic behavior from project maintainers.
---
The whole experience was very upsetting. I will never contribute or participate with anything involving Kyle. No other maintainers and staff that work with Kyle, held Kyle accountable. At no point has Kyle held himself accountable. I was no one to Kyle, and a potentially new contributor. If I had this experience, I wonder how many others did as well. I am sure his message sounds good but if he doesn't practice what he preaches, then what is all of this for? I hope he has changed.
Do you have a simple example of this for something like https://mbasso.github.io/refraction/docs/basics/Publishing.h... in react? Would you hard code in the dependencies if you have "multiple" modules that respond to "onUserLogin" "event".
I am also hoping it will become more popular as the pros seem to vastly outweigh the cons. But I think you are right about the framework. From my research it seems to be medium to large enterprises that would typically be best suited to using and developing something like kafka, and those enterprises typically would not open source their applications. So I definitely think a framework from a company who is using it as scale would be huge.
Until then, I suppose I will keep reading up and learning all I can and figure out how to implement this on a much smaller scale.
As far the data you put into the stream, I would think it could be everything if you treated all data as immutable even admin actions? Only thing that seems up in the air is transactions.
That is as far as I got though. I don't work with a company that has that kind of scale to use this, but I'd like to start working with it.
I love the thought of throwing everything into a stream and populating the read models, analytics, search index, etc with the data. However, for example if you had a CMS / ecom for a smaller organization, should the admin actions also be events? If you have an event source db, they would have to be, and you get all the benefits outlined from the article.
At what point do you decide what to put in the stream and what to build without? Are there events that should never be in a stream? Those are the questions I have been researching but I haven't found a lot of resources or discussions around making these decisions.
However do they, or would you, use a system like Kafka as an event source instead of the db. So you would also capture events like user added this song to their playlist that would get persisted to the event source db and then eventually a view model instead of directly to a relational db. It doesn't sound like they do that due to the delays, but I can't find a lot of real usage blog posts about how much to put into something like kafka.