{"id":8829,"date":"2025-10-09T22:36:29","date_gmt":"2025-10-09T22:36:29","guid":{"rendered":"https:\/\/pokecon.jp\/job\/?p=8829"},"modified":"2025-10-09T22:36:29","modified_gmt":"2025-10-09T22:36:29","slug":"dear-rubyists-shopify-isnt-your-enemy","status":"publish","type":"post","link":"https:\/\/pokecon.jp\/job\/8829\/","title":{"rendered":"Dear Rubyists: Shopify Isn\u2019t Your Enemy"},"content":{"rendered":"\n<\/p>\n<div itemprop=\"articleBody\">\n<p>I\u2019ve been meaning to write a post about my perspective on Open Source and corporate entities.<br \/>\nI already got the rough outline of it; however, I\u2019m suffering from writer\u2019s block,<br \/>\nbut more importantly, the whole post is a praise of how Shopify engages with Open Source communities.<br \/>\nHence, given the current climate, I don\u2019t think I could publish it without addressing the elephant in the room first anyway.<\/p>\n<p>So here it is, I am deeply convinced that contrary to what has been alleged recently,<br \/>\nShopify has nothing but good intentions toward Ruby and its community.<\/p>\n<p>It is healthy to be skeptical toward corporations, I certainly am, but I believe Shopify is currently receiving undue distrust considering their track record of massive investment in the Ruby ecosystem.<br \/>\nAnd some of that may be due to a lack of understanding of how they engage with Open Source communities.<\/p>\n<p>So I\u2019ll try to explain what they do, how they do it, and why we need more companies like Shopify, not less.<\/p>\n<h2 id=\"proper-disclaimer\">Proper Disclaimer<\/h2>\n<p>As is customary in this sort of situation, I first need to disclose the nature of my relationship with Shopify.<\/p>\n<p>I could try to brush it off by just saying that I was employed by them from November 2013 to August 2025, but in my opinion, that would be a cop-out.<br \/>\nKnowing that someone has been previously employed by someone else doesn\u2019t tell you anything about where they\u2019re speaking from.<br \/>\nWorse, instead of enlightening you on which biases the author might have, it might let you think they have insider knowledge, hence are even more reliable.<\/p>\n<p>What is important to disclose is how the relationship ended.<\/p>\n<p>In my case, I left Shopify for several reasons, but mainly because of my constant friction with the CEO.<br \/>\nEver since my first interaction with him twelve years ago, I knew he was someone I couldn\u2019t see eye to eye with on almost every subject.<br \/>\nEven when I\u2019d occasionally happen to agree on a specific topic, his overly maximalist position and lack of nuance would drive me away.<br \/>\nThe only reason I managed to stick this long at the company is that I made sure to pick projects and teams so as to minimize my interactions with him.<\/p>\n<p>And the reason why I ended up quitting is that it was no longer possible to avoid him.<br \/>\nSince I consider him directly responsible for my burnout last year, I couldn\u2019t possibly stay any longer.<\/p>\n<p>I could go on for hours about all the hard feelings, but this is not really the place, I only mean to share enough to explain where I\u2019m speaking from.<br \/>\nWhat is important to know is that I have absolutely zero reasons to give a pass to Shopify over anything.<\/p>\n<h2 id=\"people-are-multidimensional\">People Are Multidimensional<\/h2>\n<p>But despites my personal feelings and history, it has to be said that Shopify\u2019s CEO is a Rubyist at heart, almost to a fault.<\/p>\n<p>Contrary to what you might think, Ruby isn\u2019t all that popular at Shopify.<br \/>\nEven when I started back in 2013, only a small fraction of new hires had any prior experience with Ruby,<br \/>\nand a decade later, there aren\u2019t so many proud Rubyists in the Shopify ranks.<br \/>\nMost developers, and even many executives, would rather use something else.<\/p>\n<p>Yet, Ruby and Rails remain the default stack at Shopify, and the only reason for that is the CEO.<br \/>\nEvery Shopify employee knows that suggesting straying away from Ruby wouldn\u2019t fly there.<br \/>\nAnd I\u2019m convinced that if it were anyone else at the helm, Shopify would have joined the long list of companies that attempted to migrate to something else<br \/>\nand are now stuck with both a Ruby monolith and a ton of half-migrated micro-services in Java or Go.<\/p>\n<p>Hence, it\u2019s important to recognize that people are multidimensional.<br \/>\nJust because you can\u2019t see eye to eye on some topic doesn\u2019t mean you can\u2019t be allies (even if only by circumstances) on another.<\/p>\n<p>But Shopify isn\u2019t only its CEO.<\/p>\n<h2 id=\"the-ruby--rails-infrastructure-team-rri\">The Ruby &amp; Rails Infrastructure Team (R&amp;RI)<\/h2>\n<p>As Rubyists, the side of Shopify you are the most likely to interact with, or at least be familiar with, is the Ruby and Rails Infrastructure team (R&amp;RI).<\/p>\n<p>It\u2019s a team of 40ish people.<br \/>\nThey\u2019re the ones you see on countless GitHub issues and pull requests, maintaining countless projects, and speaking at conferences.<br \/>\nI know all of them very well, and I can attest that, barring a couple of rare exceptions, they\u2019re all long-time proud Rubyists, not mercenaries nor zealous \u201ccompany men\u201d.<\/p>\n<p>I believe, without the shadow of a doubt, that if Shopify ever started to have ill intentions toward the community, many people in the R&amp;RI team would either resign or call it out or both.<br \/>\nAt the very least, they would confide in other members of the community, and that would inevitably be public rather quickly.<\/p>\n<p>You may think I\u2019m exaggerating, and surely with their cushy salaries, many of them would have second thoughts.<br \/>\nBut I honestly don\u2019t think so.<br \/>\nShopify isn\u2019t even paying that well (depending on the market).<br \/>\nBased on my discussions with the people who left the team over the years, the most common cause of voluntary departures, by far, was compensation.<br \/>\nAnd most of the team could find another job rather quickly anyway, even in this market.<\/p>\n<p>What makes them stay at Shopify, and why it took me so long to finally decide to quit, is that right now, it is hands down the best place<br \/>\nin the world to contribute to the Ruby ecosystem.<br \/>\nNowhere else comes close, and that\u2019s all due to Shopify\u2019s philosophy toward Open Source.<\/p>\n<h2 id=\"your-dependencies-are-your-code-too\">Your Dependencies Are Your Code Too<\/h2>\n<p>Whether you realized it already or not, all the code you depend on, all the code that runs on your servers, is your code.<br \/>\nIt doesn\u2019t matter if it was written by someone you never met in Nebraska, or by a multi-billion-dollar corporation.<\/p>\n<p>You run it, you own it.<\/p>\n<p>If it has a bug, if it is missing a feature, or if it has any other needs, that\u2019s on you to figure out the solution for yourself.<br \/>\nThere\u2019s no relying on the original author to get that responsibility off your plate.<\/p>\n<p>To illustrate this, I remember back in 2014 or 2015, when MySQL servers started segfaulting in production at a regular interval.<br \/>\nIIRC, Shopify had a support contract with a MySQL consultancy, and they probably were notified of it.<br \/>\nBut we didn\u2019t sit there waiting for the \u201cowners\u201d or experts to figure it out.<\/p>\n<p>It\u2019s a colleague who went knee deep in core dumps to figure out this was caused by an <code class=\"language-plaintext highlighter-rouge\">alloca<\/code> call in a non-leaf function,<br \/>\ncausing a stack overflow, produced a patch, patched our MySQL servers, and then sent the patch upstream<sup id=\"fnref:1\"\/>.<\/p>\n<p>This philosophy is at the heart of Shopify\u2019s Ruby &amp; Rails Infrastructure team.<br \/>\nIt is determined not just to be a user of the open source ecosystem, but to proactively engage with it, contribute,<br \/>\nand make it better through engineering time and contributions.<br \/>\nNot by delegating the responsibility to a third party nor exploiting maintainers goodwill.<\/p>\n<p>I also sometimes hear people saying that Shopify is snatching all the super senior Ruby developers, but I\u2019d argue that\u2019s mostly untrue.<br \/>\nThe reality is that in most cases, Shopify is growing these developers internally.<\/p>\n<p>Take Kevin Newton, for instance.<br \/>\nHe started as a product developer at Shopify, but after a few years, he pitched his vision of a universal parser for Ruby,<br \/>\nmanaged to get transferred to the R&amp;RI team, worked on the project that became Prism, became a Ruby core committer, won the Ruby Prize award, etc.<br \/>\nSince then, he left Shopify to work on a Python JIT at Meta, yet he is still maintaining Prism, because he is a Rubyist at heart.<br \/>\nAnd Kevin is far from the only example of that; I am one as well, and so are dozens of my former teammates.<br \/>\nSome, like Peter Zhu, even started as interns.<\/p>\n<p>The reason I\u2019m explaining this is that I feel there is a part of the community that is naturally distrustful of Shopify or corporations in general.<br \/>\nI don\u2019t blame them, there have been countless examples of nefarious behaviours from companies, so it\u2019s logical and healthy to at least be skeptical.<br \/>\nBut it\u2019s also important to recognize and salute positive behavior when it happens.<\/p>\n<p>In this specific case, I believe that recently, Shopify has been giving the community something that is priceless: a large number of proficient and deeply committed contributors to Ruby itself and the whole ecosystem.<br \/>\nAnd I\u2019d argue that is way more valuable for the future and sustainability of Ruby than any amount of money.<\/p>\n<h2 id=\"sustainability-isnt-just-about-money\">Sustainability Isn\u2019t Just About Money<\/h2>\n<p>Usually, when the topic of Open Source sustainability comes up, it ends up revolving around how to make companies pay for developers\u2019 time.<br \/>\nThere is this idealized image of Open Source being an amalgamation of lone developers tirelessly maintaining projects for free, eating ramen while big bad companies make huge profits out of their work.<br \/>\nThere is definitely some truth to it, it is far from uncommon, but it\u2019s also a bit of a tired clich\u00e9.<\/p>\n<p>The Open Source ecosystem is also a lot of projects that are contributed to by people on various companies\u2019 payrolls.<br \/>\nLinux is the poster child of healthy corporate involvement, with the overwhelming majority of contributions coming from employees of companies with a vested interest in the kernel.<br \/>\nThat\u2019s just one example, but when you look at big and complex open source projects, most of the time you\u2019ll see big companies involved in one way or another.<br \/>\nThat\u2019s how most of the sustainable open source happens today, way more than through donations.<\/p>\n<p>Hence, I\u2019d argue that if an open source community wants to be sustainable, it needs to be welcoming of corporate contributions.<br \/>\nI don\u2019t mean trust them blindly, it\u2019s important to keep them in check just in case, but you have to let them play ball.<\/p>\n<p>Ruby has successfully done that.<br \/>\nBack in 2019, Rafael Fran\u00e7a and Matz met in Bristol.<br \/>\nRafael asked Matz what he needed, and Matz answered: \u201cI need people\u201d.<br \/>\nThat\u2019s how the Ruby and Rails Infrastructure team started getting involved in Ruby development, that\u2019s what ultimately led to YJIT, now ZJIT, numerous GC improvements like Variable Width Allocation, modular GC, Prism, tons of Ractors improvements, etc.<br \/>\nBut more importantly, almost a dozen new Ruby core committers.<\/p>\n<p>I would wager that if that day Matz had asked for money, we\u2019d have much worse results to show for.<\/p>\n<h2 id=\"money-can-create-perverse-incentives\">Money Can Create Perverse Incentives<\/h2>\n<p>And aside from worse results, I\u2019d argue it would have created perverse incentives.<\/p>\n<p>I have nothing but respect for people who try to find ways to fund open source development in alternative ways.<br \/>\nHowever, it\u2019s important to look at it through the lens of structures and incentives.<\/p>\n<p>Whenever you design a system that involves people, you need to consider how a person who tries to maximize their personal benefits is incentivized to behave.<\/p>\n<p>A typical example is ticket inspectors on trains and buses.<br \/>\nYou may be tempted to give them a cut on the fines they give to people, as to incentivise them to work harder, but by doing so,<br \/>\nyou create a problem that they are incentivized to be inflexible with commuters, causing a lot of conflicts instead of resolving situations peacefully.<br \/>\nSome of them might even be incentivized to give bullshit fines to earn a little extra money<sup id=\"fnref:2\"\/>.<\/p>\n<p>If a system requires all the people involved to be perfect and act selflessly, then I\u2019d argue it\u2019s a flawed system.<\/p>\n<p>Now, if Shopify had instead poured millions in cash into the Ruby Association or Matz himself, how would you, I, or anyone<br \/>\nbe able to trust that the project direction and decision are free of influence?<br \/>\nHow to trust that a given feature was accepted solely on its own merit and not just because it came from a big sponsor?<br \/>\nInversely, when a feature is declined, how do you trust it wasn\u2019t because it didn\u2019t come from a sponsor?<\/p>\n<p>That\u2019s the thing with money, once you have it, it\u2019s very difficult to do without.<br \/>\nWhen a big sponsor pulls out, you have to lay off staff, stop some initiatives, etc.<br \/>\nSo even if you publicly declare that there\u2019s no strings attached, even if you never explicitly say anything about it,<br \/>\nentities and people who receive funding are naturally incentivized to keep the donor happy so that the funding keeps coming.<\/p>\n<p>Whereas with corporate contributors, sure, their employer may decide to assign them to another project, but there are no hard consequences, and most of them will stick around regardless.<br \/>\nMost will even remain contributors if they quit or are laid off.<\/p>\n<p>You can actually witness that dynamic between Shopify and Ruby publicly, for instance, in how Prism is now the default parser, but isn\u2019t yet the only official parser.<br \/>\nI can tell you that this has ruffled quite a few feathers at Shopify, but that\u2019s the thing, Matz and Ruby don\u2019t feel indebted to Shopify, they feel entirely free to say no.<br \/>\nAnd I think that\u2019s how it should be.<\/p>\n<p>To be clear, I\u2019m not saying open source should be free of any monetary exchanges, just that it\u2019s crucial to do it in a way that doesn\u2019t let these sorts of suspicions arise.<\/p>\n<h2 id=\"not-every-projects-are-equally-forkable\">Not Every Projects Are Equally Forkable<\/h2>\n<p>I know some people will object to the above, arguing that this is all open source, so if you are not happy with the direction of the project, you can always fork, ergo: shut up!<br \/>\nAnd while this is true in most cases, in practice, there are some projects that aren\u2019t as easily forked because of their position.<\/p>\n<p>For instance, if you look at Sidekiq, it\u2019s making loads of money with its Pro and Enterprise offerings, and quite openly declines some features in the open source project so as not to cannibalize sales.<br \/>\nAs far as I am aware, pretty much everyone is fine with it.<br \/>\nSure, you\u2019ll find a few people complaining about it, but that\u2019s just background noise.<\/p>\n<p>This is because Sidekiq isn\u2019t on any critical path, there are plenty of alternatives you can go for if you aren\u2019t satisfied with it, and if you wish to fork it and add such a feature for yourself, it\u2019s pretty trivial, you don\u2019t need to convince anyone.<br \/>\nHence, everyone sees it as fair.<\/p>\n<p>However, some projects have a moat.<br \/>\nA dominant position granted by another project.<br \/>\nImagine if, instead of allowing you to use any job processor you want through Active Job, Rails had instead decided to make Sidekiq the only option.<br \/>\nIn such a world, then I believe a whole lot more people would be upset or suspicious, because the bar to clear to use an alternative would be way higher.<br \/>\nA lot of Rails users would feel captive.<\/p>\n<p>Well, I would argue that rubygems is in such a situation.<br \/>\nIt is distributed with Ruby, required early during the Ruby boot process, is coupled with all distributed gems via the <code class=\"language-plaintext highlighter-rouge\">gemspec<\/code> format, etc.<br \/>\nBecause of this, it has a massive moat.<br \/>\nForking it to build and use your own alternative to it is hardly viable, even for a big team like Shopify\u2019s Ruby and Rails Infrastructure team.<\/p>\n<p>As such, while it\u2019s still nothing but commendable to try to fund its maintenance work, you have to be careful to avoid any perverse incentives and conflicts of interest.<br \/>\nOtherwise, even if you are exceptionally selfless and well-intentioned, you will inevitably spur suspicion whenever you refuse contributions or ask for sponsorship on a GitHub issue.<\/p>\n<p>Unfortunately, it did happen.<\/p>\n<p>Over the past decade, people in the community, not just Shopify employees, started to conclude that rubygems and bundler were being monetized by some key maintainers.<br \/>\nTo be clear, I\u2019m not trying to convince anyone that this was actually the case.<br \/>\nSome of that dirty laundry that has been an open secret among the Ruby maintainers\u2019 community for a long time has recently been aired out, and I suspect there\u2019s more to come.<br \/>\nYou are free to form your own opinion on the topic if you so wish.<\/p>\n<p>But my point is that it doesn\u2019t actually matter whether rubygems was actually being unduly taken advantage of or not.<br \/>\nUltimately, it\u2019s down to who and what you consider legitimate.<\/p>\n<p>My point is that the economic model chosen to fund rubygems\u2019 maintenance, combined with its critical position in the ecosystem, has allowed for these suspicions to exist and persist, creating tensions and driving potential sources of funding away.<\/p>\n<p>Again, I believe the problem is with structures and incentives, as well as optics, not specific people being imperfect or ill-intentioned.<\/p>\n<h2 id=\"shopify-and-rubygems-rocky-relationship\">Shopify and Rubygems Rocky Relationship<\/h2>\n<p>Because of this, the relationship between Shopify and the various entities overseeing rubygems development has been quite rocky for a long time.<\/p>\n<p>As you are probably aware, supply chain security has been a hot topic in the corporate world, hence, around 2021, Shopify started trying to contribute more to rubygems, and an entire team of developers was assembled with the goal of helping the upstream projects.<\/p>\n<p>I no longer have access to all the history, and some details are now blurry.<br \/>\nBut from what I recall, there were various goals, such as requiring multi-factor authentication to publish the most popular packages, making code signing easier, and a few other topics.<\/p>\n<p>However, that initiative didn\u2019t exactly receive a warm welcome from upstream.<br \/>\nIt\u2019s not that these features weren\u2019t desired, but the understanding on Shopify\u2019s side was that maintainers preferred to be paid to do it, rather than just accept contributions.<\/p>\n<p>This is what ultimately led to Shopify funding Ruby Central directly (other than being a recurring major sponsor at their conferences for years).<br \/>\nThe deal was for <a target=\"_blank\" href=\"https:\/\/rubycentral.org\/news\/ruby-shield\/\">one million dollars over 4 years, under the name Ruby Shield<\/a>.<\/p>\n<p>But even after that, the feeling on the Shopify side was that upstream was still uncooperative, until ultimately they decided to cut their losses and re-assigned engineers elsewhere.<br \/>\nThe 4-year funding deal remained, but not much was expected of it.<\/p>\n<p>Shopify could have threatened to pull funding at that time to try to coerce Ruby Central, yet they didn\u2019t.<\/p>\n<h2 id=\"shopify-never-threatened-to-pull-funding\">Shopify Never Threatened To Pull Funding<\/h2>\n<p>As I said earlier, ever since this controversy started, I\u2019ve been unconvinced by the theory that all this would have been orchestrated by Shopify or through Shopify.<br \/>\nThat simply would have required involving too many people, and I absolutely can\u2019t imagine that none of them would have objected in one way or another.<\/p>\n<p>But anyway, since then, I did contact two former coworkers, and they both assured me that Shopify never threatened to pull Ruby Central\u2019s funding, nor threatened not to renew it.<\/p>\n<p>Now, as I tried to explain earlier, even if you loudly claim money comes with no strings attached, people and entities are naturally incentivized to do what they think is necessary to keep it coming.<br \/>\nAs such, it\u2019s entirely possible that despite the absence of threats, Ruby Central\u2019s moves may have been motivated by the need to secure the existing funding and\/or find additional sources of funding.<\/p>\n<p>My former coworkers also told me their side of the story, and it\u2019s absolutely nothing like what has been alleged so far.<br \/>\nI deeply trust these two people, and I can\u2019t possibly imagine they\u2019d be lying to me, but I\u2019d understand if you don\u2019t want to take my word for it.<\/p>\n<p>I don\u2019t know when their side of the story will come out, nor if it will come out at all, but I do hope it comes out soon and with receipts.<br \/>\nSeeing so many good-natured and well-intentioned people get demonized like they have been over the last few weeks is depressing.<\/p>\n<p>It is undeniable that, regardless of what Ruby Central\u2019s intentions were, the communication and execution have been abysmal.<br \/>\nIt is also true that there is a deep disagreement about what they rightfully or legitimately owned that won\u2019t easily be resolved.<br \/>\nHowever, I can\u2019t believe the entire organisation was ill-intentioned, here again, that would involve too many people to be conceivable.<\/p>\n<p>Similarly, the claim that Aaron sending patches to rubygems is a clue that there was a conspiracy at play drives me nuts.<br \/>\nI\u2019ve seen these pull requests being made with my own eyes, and I can tell you that the reason is way more mundane than that.<br \/>\nWe were at Rails World, someone mentioned <code class=\"language-plaintext highlighter-rouge\">rv<\/code>, the question of why you\u2019d need to write something in Rust to speed up gem installation was raised, and Aaron and a few others started to profile Bundler to see if it could be made faster.<\/p>\n<p>That\u2019s it, that\u2019s all there is.<br \/>\nAaron got nerd sniped into making Bundler faster, and now he\u2019s being called out for supposedly being part of a hostile takeover?<br \/>\nGive me a break.<\/p>\n<h2 id=\"we-need-more-shopifies-not-less\">We Need More Shopifies, Not Less<\/h2>\n<p>I think it\u2019s healthy to be wary of Shopify\u2019s huge footprint on the ecosystem.<br \/>\nCompanies are fickle beings, and even if I\u2019m not particularly concerned about them ever having ill intent toward the Ruby ecosystem,<br \/>\nit\u2019s not impossible that in the future they may decide to invest less.<\/p>\n<p>But the response shouldn\u2019t be to try to cast Shopify and its employees aside.<br \/>\nIt would be silly to punish them for helping too much.<br \/>\nWhat we need is more companies doing their part.<br \/>\nBoth to reduce Shopify\u2019s relative influence, but also to have more diverse perspectives, use cases, and priorities.<\/p>\n<p>I\u2019m not saying every company should have a team as big as Shopify\u2019s R&amp;RI, but there are numerous Ruby-based companies with valuations in billions and several hundred developers on their payroll, yet they contribute very little upstream.<br \/>\nIf you work at one of such companies, you should really consider how you could do more.<\/p>\n<p>That\u2019s what I intend to do at my next job, to get one more Ruby company to pull its weight.<\/p>\n<\/p><\/div>\n\n<br \/><a href=\"https:\/\/byroot.github.io\/opensource\/ruby\/2025\/10\/09\/dear-rubyists.html\">\u5143\u306e\u8a18\u4e8b\u3092\u78ba\u8a8d\u3059\u308b <\/a><\/p>\n","protected":false},"excerpt":{"rendered":"I\u2019ve been meaning to write a post about my perspective on Open Source and corporate entities. I already got th [&hellip;]","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[2],"tags":[],"class_list":["post-8829","post","type-post","status-publish","format-standard","hentry","category-hatena-blog"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Dear Rubyists: Shopify Isn\u2019t Your Enemy - \u30dd\u30b1\u30b3\u30f3<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/byroot.github.io\/opensource\/ruby\/2025\/10\/09\/dear-rubyists.html\" \/>\n<meta property=\"og:locale\" content=\"ja_JP\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Dear Rubyists: Shopify Isn\u2019t Your Enemy - \u30dd\u30b1\u30b3\u30f3\" \/>\n<meta property=\"og:description\" content=\"I\u2019ve been meaning to write a post about my perspective on Open Source and corporate entities. I already got th [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/byroot.github.io\/opensource\/ruby\/2025\/10\/09\/dear-rubyists.html\" \/>\n<meta property=\"og:site_name\" content=\"\u30dd\u30b1\u30b3\u30f3\" \/>\n<meta property=\"article:published_time\" content=\"2025-10-09T22:36:29+00:00\" \/>\n<meta name=\"author\" content=\"info@pokecon.jp\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u57f7\u7b46\u8005\" \/>\n\t<meta name=\"twitter:data1\" content=\"info@pokecon.jp\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u63a8\u5b9a\u8aad\u307f\u53d6\u308a\u6642\u9593\" \/>\n\t<meta name=\"twitter:data2\" content=\"19\u5206\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/byroot.github.io\\\/opensource\\\/ruby\\\/2025\\\/10\\\/09\\\/dear-rubyists.html#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/pokecon.jp\\\/job\\\/8829\\\/\"},\"author\":{\"name\":\"info@pokecon.jp\",\"@id\":\"https:\\\/\\\/pokecon.jp\\\/job\\\/#\\\/schema\\\/person\\\/16c9f07b1ba984d165d9aee259bda997\"},\"headline\":\"Dear Rubyists: Shopify Isn\u2019t Your Enemy\",\"datePublished\":\"2025-10-09T22:36:29+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/pokecon.jp\\\/job\\\/8829\\\/\"},\"wordCount\":3781,\"articleSection\":[\"\u306f\u3066\u306a\u30d6\u30ed\u30b0\"],\"inLanguage\":\"ja\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/pokecon.jp\\\/job\\\/8829\\\/\",\"url\":\"https:\\\/\\\/byroot.github.io\\\/opensource\\\/ruby\\\/2025\\\/10\\\/09\\\/dear-rubyists.html\",\"name\":\"Dear Rubyists: Shopify Isn\u2019t Your Enemy - \u30dd\u30b1\u30b3\u30f3\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/pokecon.jp\\\/job\\\/#website\"},\"datePublished\":\"2025-10-09T22:36:29+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/pokecon.jp\\\/job\\\/#\\\/schema\\\/person\\\/16c9f07b1ba984d165d9aee259bda997\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/byroot.github.io\\\/opensource\\\/ruby\\\/2025\\\/10\\\/09\\\/dear-rubyists.html#breadcrumb\"},\"inLanguage\":\"ja\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/byroot.github.io\\\/opensource\\\/ruby\\\/2025\\\/10\\\/09\\\/dear-rubyists.html\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/byroot.github.io\\\/opensource\\\/ruby\\\/2025\\\/10\\\/09\\\/dear-rubyists.html#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u30db\u30fc\u30e0\",\"item\":\"https:\\\/\\\/pokecon.jp\\\/job\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Dear Rubyists: Shopify Isn\u2019t Your Enemy\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/pokecon.jp\\\/job\\\/#website\",\"url\":\"https:\\\/\\\/pokecon.jp\\\/job\\\/\",\"name\":\"\u30dd\u30b1\u30b3\u30f3\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/pokecon.jp\\\/job\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"ja\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/pokecon.jp\\\/job\\\/#\\\/schema\\\/person\\\/16c9f07b1ba984d165d9aee259bda997\",\"name\":\"info@pokecon.jp\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ja\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/2b0549cd9f7907c092ca5fbb283baf72337f235726e4b46fa39ec0b701ac2fe2?s=96&d=wavatar&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/2b0549cd9f7907c092ca5fbb283baf72337f235726e4b46fa39ec0b701ac2fe2?s=96&d=wavatar&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/2b0549cd9f7907c092ca5fbb283baf72337f235726e4b46fa39ec0b701ac2fe2?s=96&d=wavatar&r=g\",\"caption\":\"info@pokecon.jp\"},\"url\":\"https:\\\/\\\/pokecon.jp\\\/job\\\/author\\\/infopokecon-jp\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Dear Rubyists: Shopify Isn\u2019t Your Enemy - \u30dd\u30b1\u30b3\u30f3","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/byroot.github.io\/opensource\/ruby\/2025\/10\/09\/dear-rubyists.html","og_locale":"ja_JP","og_type":"article","og_title":"Dear Rubyists: Shopify Isn\u2019t Your Enemy - \u30dd\u30b1\u30b3\u30f3","og_description":"I\u2019ve been meaning to write a post about my perspective on Open Source and corporate entities. I already got th [&hellip;]","og_url":"https:\/\/byroot.github.io\/opensource\/ruby\/2025\/10\/09\/dear-rubyists.html","og_site_name":"\u30dd\u30b1\u30b3\u30f3","article_published_time":"2025-10-09T22:36:29+00:00","author":"info@pokecon.jp","twitter_card":"summary_large_image","twitter_misc":{"\u57f7\u7b46\u8005":"info@pokecon.jp","\u63a8\u5b9a\u8aad\u307f\u53d6\u308a\u6642\u9593":"19\u5206"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/byroot.github.io\/opensource\/ruby\/2025\/10\/09\/dear-rubyists.html#article","isPartOf":{"@id":"https:\/\/pokecon.jp\/job\/8829\/"},"author":{"name":"info@pokecon.jp","@id":"https:\/\/pokecon.jp\/job\/#\/schema\/person\/16c9f07b1ba984d165d9aee259bda997"},"headline":"Dear Rubyists: Shopify Isn\u2019t Your Enemy","datePublished":"2025-10-09T22:36:29+00:00","mainEntityOfPage":{"@id":"https:\/\/pokecon.jp\/job\/8829\/"},"wordCount":3781,"articleSection":["\u306f\u3066\u306a\u30d6\u30ed\u30b0"],"inLanguage":"ja"},{"@type":"WebPage","@id":"https:\/\/pokecon.jp\/job\/8829\/","url":"https:\/\/byroot.github.io\/opensource\/ruby\/2025\/10\/09\/dear-rubyists.html","name":"Dear Rubyists: Shopify Isn\u2019t Your Enemy - \u30dd\u30b1\u30b3\u30f3","isPartOf":{"@id":"https:\/\/pokecon.jp\/job\/#website"},"datePublished":"2025-10-09T22:36:29+00:00","author":{"@id":"https:\/\/pokecon.jp\/job\/#\/schema\/person\/16c9f07b1ba984d165d9aee259bda997"},"breadcrumb":{"@id":"https:\/\/byroot.github.io\/opensource\/ruby\/2025\/10\/09\/dear-rubyists.html#breadcrumb"},"inLanguage":"ja","potentialAction":[{"@type":"ReadAction","target":["https:\/\/byroot.github.io\/opensource\/ruby\/2025\/10\/09\/dear-rubyists.html"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/byroot.github.io\/opensource\/ruby\/2025\/10\/09\/dear-rubyists.html#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u30db\u30fc\u30e0","item":"https:\/\/pokecon.jp\/job\/"},{"@type":"ListItem","position":2,"name":"Dear Rubyists: Shopify Isn\u2019t Your Enemy"}]},{"@type":"WebSite","@id":"https:\/\/pokecon.jp\/job\/#website","url":"https:\/\/pokecon.jp\/job\/","name":"\u30dd\u30b1\u30b3\u30f3","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/pokecon.jp\/job\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"ja"},{"@type":"Person","@id":"https:\/\/pokecon.jp\/job\/#\/schema\/person\/16c9f07b1ba984d165d9aee259bda997","name":"info@pokecon.jp","image":{"@type":"ImageObject","inLanguage":"ja","@id":"https:\/\/secure.gravatar.com\/avatar\/2b0549cd9f7907c092ca5fbb283baf72337f235726e4b46fa39ec0b701ac2fe2?s=96&d=wavatar&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/2b0549cd9f7907c092ca5fbb283baf72337f235726e4b46fa39ec0b701ac2fe2?s=96&d=wavatar&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/2b0549cd9f7907c092ca5fbb283baf72337f235726e4b46fa39ec0b701ac2fe2?s=96&d=wavatar&r=g","caption":"info@pokecon.jp"},"url":"https:\/\/pokecon.jp\/job\/author\/infopokecon-jp\/"}]}},"_links":{"self":[{"href":"https:\/\/pokecon.jp\/job\/wp-json\/wp\/v2\/posts\/8829","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pokecon.jp\/job\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/pokecon.jp\/job\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/pokecon.jp\/job\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/pokecon.jp\/job\/wp-json\/wp\/v2\/comments?post=8829"}],"version-history":[{"count":1,"href":"https:\/\/pokecon.jp\/job\/wp-json\/wp\/v2\/posts\/8829\/revisions"}],"predecessor-version":[{"id":8830,"href":"https:\/\/pokecon.jp\/job\/wp-json\/wp\/v2\/posts\/8829\/revisions\/8830"}],"wp:attachment":[{"href":"https:\/\/pokecon.jp\/job\/wp-json\/wp\/v2\/media?parent=8829"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/pokecon.jp\/job\/wp-json\/wp\/v2\/categories?post=8829"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/pokecon.jp\/job\/wp-json\/wp\/v2\/tags?post=8829"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}