15 ms·
We Need To Talk About Vercel
- compumike 3y ago> Most of remotejobs.org is already hosted on a VPS and so in my case I'll move the web pieces there with a CDN like Cloudflare in front of it. You probably don’t even need a CDN at all.
- rektide 3y agoHaving someone handle multiple points of presence is a nice courtesy to users. Not sweating about outages is worth a lot. Someone else handling botnets & DDoS is fantastic. I very very much believe in some DIY & doing things ourselves but I also recognize a ton of value in using CDNs. Glad both are options. DIY is hard.
- klabb3 3y agoA cdn is largely a value prop to reduce latency for static web pages, so that someone coming from a link get a page load asap. Once you have a dynamic or hybrid app, the value diminishes rather quickly, I assume. Potentially it could become negative if you have different points of failures and cache inconsistencies.
- HeavyFeather 3y ago> Potentially Unless CloudFlare cables are somehow shinier than the rest of the internet’s, adding one hop almost certainly adds latency. More hops more time. In some instances where the original server was closer than CF’s edge, I measured increased time even for cached content, effectively making CF slower for every request by that specific user.
- kadoban 3y agoYou're not factoring in the DDoS protection, that's why the answer you got is so clear. It _may_ still be value negative, but it probably depends on the tradeoffs one cares about.
- comex 3y agoIf the site is both static and busy enough, then the majority of users never need to do a roundtrip to the original server. If the site isn’t busy enough… well, I think more CDNs ought to support pre-caching. Supposedly Vercel does?
- victorbjorklund 3y agoYou can warm up the cache with cloudflare R2 or Bunnycdn edge storage.
- klabb3 3y ago> Unless CloudFlare cables are somehow shinier than the rest of the internet’s Unrelated, but these mega actors sometimes have such shiny cables, because they can route on their internal network across the globe. Iirc Cloudflare does that for some/all traffic(?). But you’re right, all else equal more hops = worse, and I’d be unsurprised if Cloudflare overstates the benefits of using them.
- maple3142 3y ago> Unless CloudFlare cables are somehow shinier than the rest of the internet’s, adding one hop almost certainly adds latency. More hops more time. In my experience, CloudFlare (and other CDNs) can often provide a better route then a regular ISP. Sometimes downloading speed is really slow, switching to CloudFlare wrap (VPN) can at least double or triple the speed.
- HeavyFeather 3y agoI assume that’s because a VPN doesn’t let the ISP do any traffic shaping, which isn’t the case for regular CDNs (unless the ISP itself “positively traffic shapes” for) Warp also regularly lets me escape public Wi-Fi’s where in-browser uploads fail.
- adrr 3y agoRemote Jobs seems to be a content driven site. Why wouldn't it want all that content on the edge?
- incrudible 3y agoWhy would it?
- adrr 3y agoSpeed? Primary reason for CDNs.
- incrudible 3y agoI don't buy that, at least not in the general case. A CDN adds an additional indirection between the site you serve and the content that you reference on the CDN.
- deleted 3y ago[deleted]
- leerob 3y ago[Lee from Vercel] Max reached out to me today (Sunday) after this experience, and I worked with him this evening get to a resolution for his site on the Vercel free tier. I'm really sorry we weren't able to get to a resolution faster. I've concluded it's not an issue with the Vercel Edge Network based on the reproduction he provided and pushed documentation and example updates (see below). I know Max spent a lot of time on this with back and forth, so I just want to say again how much I appreciate the feedback and helpfulness by providing a reproduction. Here are the full details from the investigation: - Beginning Context: Vercel supports Astro applications (including support for static pages, server-rendered pages, and caching the results of those pages). Further, it supports caching the responses of "API Endpoints" with Astro. It does this by using an adapter[1] that transforms the output of Astro into the Vercel Build Output API[2]. Basically, Astro apps should "just work" when you deploy. - The article states that to update SWR `cache-control` headers you need to use the `headers` property of `vercel.json`[3]. This is for changing the headers of static assets, not Vercel Function responses (Serverless or Edge Functions). Instead, you would want to set the headers on the response itself. This code depends on the framework. For Astro, it's `Astro.response.headers.set()`[4]. This correctly sets the response SWR headers. - Vercel's Edge Network does respect `stale-while-revalidate`, which you can validate here[5] on the example I created based on this investigation. This example is with `s-maxage=10, stale-while-revalidate`. Vercel's Edge strips `s-maxage` and `stale-while-revalidate` from the response. To understand if it's a cache HIT/MISS/STALE, you need to look at `x-vercel-cache`. I appreciate Max's feedback here the docs could be better—I've updated the Vercel docs now to make this more clear[6]. - I've started a conversation with the Astro team to see how we can better document and educate on this behavior. In the meantime, I updated the official Vercel + Astro example to demonstrate using SWR caching headers based on this feedback[7]. - The reproduction provided by Max[8] does not show the reported issue. I was not able to reproduce, which is the same result that our support team saw. It sounds like there were some opportunities for better communication here from our team and I apologize for that. I will chat with them. Free customer or not, I want to help folks have the best experience possible on Vercel. If Max (or anyone else) can reproduce this, I am happy to continue investigating. [1]: https://docs.astro.build/en/guides/integrations-guide/vercel/ https://docs.astro.build/en/guides/integrations-guide/vercel... [2]: https://vercel.com/docs/build-output-api/v3 https://vercel.com/docs/build-output-api/v3 [3]: https://vercel.com/docs/concepts/projects/project-configuration#headers https://vercel.com/docs/concepts/projects/project-configurat... [4]: https://docs.astro.build/en/reference/api-reference/#astroresponse https://docs.astro.build/en/reference/api-reference/#astrore... [5]: https://astro.vercel.app/ssr-with-swr-caching https://astro.vercel.app/ssr-with-swr-caching [6]: https://vercel.com/docs/concepts/edge-network/caching#server https://vercel.com/docs/concepts/edge-network/caching#server [7]: https://github.com/vercel/vercel/pull/9778 https://github.com/vercel/vercel/pull/9778 [8]: https://github.com/maxcountryman/astro-trpc-example https://github.com/maxcountryman/astro-trpc-example
- interstice 3y agoI have spent a while struggling with Vercel and unexpected caching behaviour, specifically in regards to Nextjs 12 returning "Static props not found" errors in situations where that seems like it should be impossible according to the docs. The lack of other voices on the internet with the same issues led me to believe that I was going insane. Now I'm starting to think going back to a good old VPS might not be such a bad idea.
- adoxyz 3y agoPersonally, I love how approachable Vercel is and for most small things I've used Vercel for, it has been an absolute delight. My issue with using Vercel for "real workloads" is the pricing though. 100GB of Bandwidth for $40 is a blocker. I love how easy the experience is to throw up an app and test it in the real world, the dashboard is great, build times are excellent, but I can't see myself paying that high of a premium.
- re-thc 3y agoAlso $20 per user. A lot of teams don't use a lot of bandwidth but have a lot of developers.
- pizzuh 3y agoFor someone looking at switching to Vercel for frontend deployment, this is a bit scary. Granted, CloudFront isn't terribly hard to use. It's nice to have all resources in one place, however, it's probably worth sticking to the more mature products for things like content delivery.
- leerob 3y agoIf you'd like to see the full details, I posted an update here (https://news.ycombinator.com/item?id=35508529 https://news.ycombinator.com/item?id=35508529).
- stevebmark 3y ago[flagged]
- ilrwbwrkhv 3y agoIf anyone needs a CDN, please use BunnyCDN. I have tried almost every other major CDN and it just blows everything else out of the water. Regarding Vercel, they do have quite poor support so it doesn't feel rock solid and dependable. They are a great start though, but then ideally you should just switch to bare metal on Hetzner or something when you are earning serious money from your business.
- jacooper 3y agoHonestly nothing compares to bandwidth free expenses with cloudflare especially with cloudflare R2. Also having different pricing for every region is very annoying.
- getcrunk 3y agoYea but better to not keep all you eggs in one basket and also centralization of web issues re:cf
- jacooper 3y agoJust using them as a CDN through R2, no proxying.
- locustous 3y agoHetzner is cheaper unless you are serving a sizable asset with R2. R2 costs per call. That cost is more than most web bundle size assets will be at Hetzner egress pricing.
- preommr 3y agoVercel scares the hell out of me - their previous handling of that runaway bill of 6k was atrociuos. They basically blamed the user and only handled it after it gained traction on social media. Beyond that, they do a lot of things with web, while having very little moat as a company. By that I mean they're involved in a lot of front-end libraries, articles, projects, etc. a lot of which they incorporate into their platform. Which is why everyone praises them for their ease-of-use, but anybody should know that there's a reckoning that comes after the honeymoon period when all this has to be maintained. And that stuff gets to be very expensive. Which would be fine if they were Google with a really wide moat but they're not. They're a thin layer above the big three cloud providers. It's too easy for a dev to just pack up and move to AWS where they're not paying for the overhead once the project becomes serious. It also doesn't help that they're not seen as a serious solution because of things like their poor customer service.
- no_wizard 3y agoTheir moat may be from a technical perspective thin, however with that said, if you do deploy Next.js on Vercel with all the nice things that comes with out of the box, it’s hard to beat. And GCP, AWS nor Azure make it as out of the box seamless and keeps it that way as things scale. The big cloud providers “solutions” around this all fall short introducing mindless complexity to upsell you more services often with half baked integration
- satvikpendem 3y agoI can use their NextJS Docker container anywhere though. Currently I do it on a Hetzner VPS for a few bucks a month and handle all the scale I need, no CDN or edge runtime required.
- steve_taylor 3y agoIt’s worth using a CDN to reduce server load and increase your website’s speed. Cloudflare is free for most use cases and ridiculously easy to set up.
- oefrha 3y agoSlightly related: Netlify has/had an even bigger problem around caching, and not just caching. I set `cache-control: public,max-age=2592000,immutable` on my SPAs' assets as they're hashed and should be immutable. But Netlify somehow doesn't atomically swap in a new version: say my index.html referenced /assets/index.12345678.js before and is updated to reference /assets/index.87654321.js instead, there's a split second where Netlify could serve the new index.html referencing /assets/index.87654321.js, while /assets/index.87654321.js returns 404! So users accessing the site in that split second may get a broken site. Worse still, the assets directory is covered by the _headers rule adding the immutable, 30-day cache-control header, and Netlify will even add it to the 404 response... The result is user's page is broken indefinitely until I push out a new build (possibly bricking another set of users) or they clear the cache, which isn't something the average joe should be expected to do. I ended up having to write a generator program to manually expand /assets/* in _headers to one rule for each file after every build. And users still get a broken page from time to time, but at least they can refresh to fix it. It really sucks.
- comex 3y agoIs the JS file somehow being embedded into index.html on the server side? If not, how do you expect this to be atomic when the user’s browser is making two separate requests (with an arbitrary delay between them)?
- oefrha 3y agoThe atomicity is for the site update. If I'm deploying to my server, the structure would look like: /srv/example.com/prod -> /srv/example.com/versions/1 /srv/example.com/versions/1/index.html /srv/example.com/versions/1/assets/index.12345678.js /srv/example.com/versions/2/index.html /srv/example.com/versions/2/assets/index.87654321.js A new version is atomically swapped in by changing the prod link from versions/1 to versions/2. If you request index.html and get the updated version, there's no scenario where assets/index.87654321.js could 404. Serving an updated index.html but 404 for a later request for assets/index.87654321.js is not reasonable. Of course distributed systems are harder but it's their problem to solve. Note that with a naive web server and the layout above, one could get an old index.html but no assets/index.12345678.js by the time the .js file is requested, but that's less problematic and could be covered by some lingering cache. Or I could simply include the last build's assets as there's no conflict potential.
- ezekg 3y agoThis type of behavior, where a CDN flat out ignores a header you’ve set in favor of their own values, without any indication, is incredibly frustrating. I hit a similar issue when using Cloudflare and the Date header, where I was signing some parts of the response including the Date header. The problem was that if the request hit Cloudflare at just the right^W wrong time, the signature would be invalidated because their Date header value would be different than the original. They didn’t see it as an issue, even though IIRC the HTTP spec states that a proxy server must not overwrite the Date header if it was set by a prior actor. Took days of debugging to determine why some requests were producing invalid signatures.
- Rauchg 3y agoThe gist is (which the support engineer referred to as the internal RFC): instead of stripping `cache-control` `s-maxage` / `stale-while-revalidate` values, we should support Targeted HTTP Cache Control[1] (i.e.: `cdn-cache-control` and `vercel-cache-control`). Vercel strips them because (1) at the time this RFC didn't exist and (2) most of the time you we found customers don't want to cache on the browser side or proxying CDNs, which makes purging and reasoning about cache staleness very difficult. Another example there is the default `cache-control: public, max-age=0, must-revalidate`. Without that, browsers have very unintuitive caching behavior for dynamic pages. Customers want to deploy and see their changes instantly. They want to their customers "go to our blog to see the news" and not have to second guess or fear the latest content will be there. I appreciate Max's feedback and we'll continue to improve the platform. [1] https://httpwg.org/specs/rfc9213.html https://httpwg.org/specs/rfc9213.html
- bluemoon 3y agoCloudflare (and likely other cdns) has a development mode for this exact use case
- Rauchg 3y agoUnless I'm misunderstanding you: it's not about dev or prod. It's that you want Vercel to cache a dynamic page, but not your visitor. That allows you to be in control of the ship: if you purge the CDN, you don't risk a customer having a stale page. I've seen a lot of customers get burn by sending `max-age` as a way of getting their CDN to cache, not realizing they're inadvertently caching on users' machines. Sometimes it's a seemingly harmless "5 minutes", but that can be damaging enough for rapidly changing pages (imagine breaking news on a homepage).
- solatic 3y agoLook, regarding setting cache-control headers, it's a professional tool, and it's going to be possible to shoot yourself in the foot with it. The approach to try to reduce that is to have a UI that asks people, "hey are you sure you want to do this potentially dangerous thing? It just result in these unintended consequences", but yes, ultimately allow people to do it. Otherwise, you're not letting people use what they paid for.
- pier25 3y agoDoes any CDN support stale-while-revalidate? I know Cloudflare doesn't. I thought Vercel did but apparently not.
- leerob 3y agoVercel does: https://news.ycombinator.com/item?id=35508529 https://news.ycombinator.com/item?id=35508529
- Etheryte 3y agoYou don't need to go linking to your marketing comment in every possible subthread for damage control, it isn't nice to spam.
- cagenut 3y agofastly does: https://developer.fastly.com/learning/concepts/stale/#stale-while-revalidate-eliminate-origin-latency https://developer.fastly.com/learning/concepts/stale/#stale-...
- eob 3y ago[flagged]
- flimsypremise 3y agoMy sense of Vercel (mostly from working with NextJS) is that they are more interested in appearing to support an open source framework while making their product as difficult to interoperate with other technologies as possible in an attempt to lock users into their platform and hopefully pay for it.
- leerob 3y agoHey, I'm on the team at Vercel. What could we do better? Open to your feedback. Our platform integrates with 30+ frameworks (https://vercel.com/docs/frameworks https://vercel.com/docs/frameworks), we directly fund the development of Next.js and Svelte, and we sponsor Nuxt, Astro, Solid, and more.
- getcrunk 3y agoAnd you should fix the stupid net js img bs refrenced in other comments too
- tipiirai 3y agoYou should offer better customer support as repeated in many comments here.
- flimsypremise 3y agoI'd say one of the big annoyances I've encountered while building applications with the last few versions of NextJS is the increasingly tight integration with the built-in server. The world of Node servers is pretty well-established, with documented interfaces that the major server platforms all implement and support. Simple stuff like res and req in the context and what those objects contain. With each release NextJS breaks a bit more of those interfaces and replaces them with approaches that are very specific to NextJS and pretty unintuitive to anyone who is used to building servers in Node. I'm talking about stuff like handling response codes (the notFound parameter you need to return to get a 404 from getServerSideProps is a particularly egregious example) or redirects. You are presented with what looks like a standard interface, but doesn't fundamentally actually work anything that interface. Decades of working in this industry have taught me to value interoperability, modularity and standardization. I love the idea of a framework that makes SSR easy, and the idea of static site generation, and a router that uses the pages approach where each file is a route is handy in some cases (though very clumsy in others), but all of those a different things and aren't really something I need a single monolithic framework for. I may want one or some or none of those things based on what project I'm working on. If NextJS makes it harder to pick and choose what I want to use, or makes some features contingent on using other features I don't really care about, I'm going to start looking really hard for an option that gives me more choices.
- clumsycomputer 3y agoive ejected out of the next ecosystem and work in preact now. some of the optimizations being adopted across react and next had me worried about insurmountable lock-in! with that said vercel's github integration is a beautiful thing that i will continue to use. the automated preview deployments are just too clutch
- TobyTheDog123 3y ago(Only somewhat-related rant) I'm very much starting to distrust these huge companies with infinite product/feature lists and generic marketing-lingo websites. "Vercel is the platform for frontend developers, providing the speed and reliability innovators need to create at the moment of inspiration." Seriously? I want serverless providers that tell me the 4-5 products they offer (Compute, maybe a KV store, maybe a database, maybe some pubsub, maybe a queue?), give me the pricing, and leave me the Hell alone. I don't want to feel locked into a system promising end-to-end whatever, ones that heavily push a certain framework, and most importantly ones that look like the homepage was designed by a team of sales people instead of a team of engineers. It's the difference between the Cloudflare Workers website and the Vercel website: Vercel looks like the new-age big-brother con artist, while Workers looks like a utility. Sorry, what were we talking about? A runaway bill?
- Kevcmk 3y agoVercel is deceitful. The Image/img fiasco really pulled the covers off for vercel for me. I have migrated all my work off of the platform. NextJS’ lint strategically dissuades you from using the img tag in favor of the NextJS Image component. If you make the mistake of heeding this advice and migrating to it, you can’t use static site generation—which means you are stuck using their hosting. Here’s one of the most PR-shameful threads I’ve ever read in OSS: https://github.com/vercel/next.js/discussions/19065 https://github.com/vercel/next.js/discussions/19065
- detaro 3y agoLol, silently* replacing the original request with the company response instead of documenting it in the docs is certainly a move. Nice to have all the thumbs-up and heart reactions on the "sorry we don't do it", for sure. Love the "We'd love to hear your feedback" and then locking the discussion too. Not having the feature is one thing, but why not properly document that and the (by now existing) workarounds? * yes, not 100% silent, there is a small gray indicator from Github that it has been edited, but one would not expect a full-on replace with that.
- pcthrowaway 3y agoUgh.. that is sneaky
- hitekker 3y agoThe edit history / indicator doesn't show up on mobile, but I confirmed it shows up on Desktop; leerob hijacked the question and replaced it with PR. Deceit is indeed the right word to describe Vercel's behavior.
- stevebmark 3y ago[flagged]
- lolinder 3y agoI think you must have missed that the first post is a replacement of the actual feature request that someone submitted. I have no dog in this fight, but it's pretty slimy to respond to someone's request by overwriting it with your explanation. They effectively hijacked the requester's name, profile picture, and who knows how many upvotes to push their own message instead of letting them have their say and, you know, replying.
- revskill 3y agoThere's no option/docs on rate limit or prevent DDOS serverless functions. I warned them 3 years ago, but it's not listened.
- yawnxyz 3y agoha, I thought I was just bad at "computer stuff" for not figuring out how to implement SWR correctly on Vercel...
- steve_adams_86 3y agoI’ve worked on two projects where there were comments about strange SWR config — pointing towards GitHub issues discussing this exact issue. The first time I encountered it must have been 3 years ago. I have a feeling vercel doesn’t care.
- siquick 3y agoSome odd hate in this thread. Been using Vercel for around 3 years and it’s been amazing and it’s our default for all front end deployments now. The DX is second to none and the per-branch deployments are great for protoyping. Yeah there is no cap on spend (Which cloud services do this? None afaik) but if you’re really worried about getting DDOSd then put Cloudflare in front of Vercel.
- random_rants 3y agoWhat the hell. You have a page with a 150 jobs and a form. You basically don't need anything more than an html editor. We need to talk about how we do software architecture and technology choices today. In the time you played around with CDN stuff you easily could build a company listing, fixed your footer and header links, thinking about a pricing, build an apply-form, fixed/build job notifications, ...
- danjac 3y agoThat was my thinking. This seems over-engineered for a simple jobs board. I would be surprised if the traffic even warrants the CDN setup.
- lungeloslx 3y agoWhile I may myself not have a complex setup for something that looks so simple on the surface, I think people here need to stop assuming they know everyone’s purpose for building software. Maybe the author intentionally set things up so they can have a low stakes system to learn about these technologies and improve their knowledge. This post is about Vercel and their poor practices. Let’s stay on topic and actually ask the author why such a complex setup instead of assuming you know and speaking off the cuff with criticism
- pcthrowaway 3y ago> Let’s stay on topic and actually ask the author why such a complex setup instead of assuming you know and speaking off the cuff with criticism I'd go a step further and say the question of why the author may or may not be overengineering their own app is besides the point. I'm not saying asking out of curiosity would be a problem, but it shouldn't be construed as at all relevant to the very valid points OP is making regarding Vercel's service
- mkl95 3y agoI don't dislike Vercel specifically, but I dislike opaque businesses that masquerade as open source champions. Also, I wish fewer devs were OK with "advanced frontend stuff" being such a leaky abstraction.
- brillout 3y agoOpen alternative to Next.js: https://vite-plugin-ssr.com/ https://vite-plugin-ssr.com/ (I'm its author). Open: - Choose any UI framework you want (React/Vue/Solid/...) - A lot more flexible than Next.js (e.g. i18n and base assets configuration are fundamentally more flexible) - Keep architectural control (vite-plugin-ssr is more like a library and doesn't put itself in the middle of your stack) - Use your favorite tools. And manually integrate them with vite-plugin-ssr (for full control without surprises). - Deploy anywhere (and easily integrate with your existing server/deploy strategy) - Open roadmap - Ecosystem friendly The upcoming "V1 Design" has been meticulously designed to be simple yet powerful. Once nested layouts, single route files, and typesafe links are implemented vite-plugin-ssr will be pretty much feature complete. Note that, with vite-plugin-ssr, you implement your own renderer, which may or may not be something you want/need/like to do. Built-in renderers are coming and you’ll then get a zero-config DX like Next.js (minus extras like image processing as we believe they should be separate libraries). Web dev isn't a zero sum game - a vibrant and healthy ecosystem of competing tools can co-exist. (I'm close to be able to make a living with sponsors.) Vision is to make a truly open and collaborative foundation for meta frameworks. Let me know if you have any questions.
- iamsaitam 3y agoEven though you go on explaining what you mean by "open", seeing that the common definition is "open (source)", I'd go for a different qualifier.
- 3np 3y agoIt's available under MIT License hosted on GitHub. Am I missing something? https://github.com/brillout/vite-plugin-ssr/blob/main/LICENSE.md https://github.com/brillout/vite-plugin-ssr/blob/main/LICENS...
- brillout 3y agoI think parent means that both Next.js and vite-plugin-ssr are open source, so "open(-source)" isn't a differentiator. I agree although we think we can keep the word "open" and make it clear that we're takling about being a "open framework" (and not only open source).
- pauliescanlon 3y agoFeel like this Tweet could use some social support too. https://twitter.com/ms_nieder/status/1626995266619420675?s=46&t=zLpZZGPcHuyGxMHwpDpFuA https://twitter.com/ms_nieder/status/1626995266619420675?s=4...
- llambda 3y agoThis is incredible. If I understand the thread, that >$22,000 surprise bill was not forgiven by Vercel and the most they're willing to do is offer a 25% discount. Is Vercel a business or a scam masquerading as a tech company? If a company needs to stoop to this level of billing shenanigans to make money, I have my doubts...
- pauliescanlon 3y agoVercel have controlled the narrative that, managing your own infrastructure is too difficult or, it takes too much time away from shipping products. They want you to put your trust in them, but you’ll have to pay for it. This would be ok if you could trust them. Many stories are emerging where it’s clear that trusting Vercel is a risky strategy.
- danjac 3y agoThis right here is why I never, ever use cloud services for my side projects, and only use them on the client's or employer's dime. I always use Digital Ocean, Hetzner, or some other provider where I pay a fixed amount per month. Which is a shame as it makes it harder to learn things like AWS and Google Cloud (or for that matter, Vercel) in my spare time, and perhaps they might even work out cheaper for low-traffic hobby projects, but ultimately the risk is too great.
- netule 3y agoI hope this doesn't come off as snarky, but after researching Vercel and its competitors I decided that the iffiness around billing for these services wasn't worth it. I would mostly use it as Infrastructure as a Service anyway. It took me about a night to learn the ins and outs of AWS CloudFormation. Now I know exactly what my stack looks like and I can more easily estimate my end-of-month costs -- plus I can stay in the free tier wherever possible.
- pauliescanlon 3y ago$250,000 per year for 10 seats with Vercel on AWS Marketplace. https://twitter.com/eigenseries/status/1645515739280064512?s=46&t=zLpZZGPcHuyGxMHwpDpFuA https://twitter.com/eigenseries/status/1645515739280064512?s...
- akagusu 3y agoWe need to talk about developers. Vercel and any other company in their space follow the same old playbook: They play opensource to attract users and build nice stuff developers like (not necessarily what they need) to win market share and developer's mind and heart. When they are above the competition, thanks to the free contributions of the community, they reveal their true nature and start play greed. Developers get upset and start ranting on HN. How many times do I need to see developers playing this movie? It's is the same shit over and over and over again.