this post was submitted on 11 Apr 2024
122 points (78.8% liked)

Technology

35113 readers
305 users here now

This is the official technology community of Lemmy.ml for all news related to creation and use of technology, and to facilitate civil, meaningful discussion around it.


Ask in DM before posting product reviews or ads. All such posts otherwise are subject to removal.


Rules:

1: All Lemmy rules apply

2: Do not post low effort posts

3: NEVER post naziped*gore stuff

4: Always post article URLs or their archived version URLs as sources, NOT screenshots. Help the blind users.

5: personal rants of Big Tech CEOs like Elon Musk are unwelcome (does not include posts about their companies affecting wide range of people)

6: no advertisement posts unless verified as legitimate and non-exploitative/non-consumerist

7: crypto related posts, unless essential, are disallowed

founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 98 points 8 months ago (7 children)

Content warning: this is a rant from a teenager who has strong opinions.

Okay...

However, it holds a monopoly on software.

You don't know what a "monopoly" is.

they could just go “Boop! You’re gone!” and there’s nothing I could do about it other than move forges.

Yeah, nothing you could do about it, other than moving to one of the many other git hosts. Monopoly!

And then after listing off a whole bunch of alternative git hosts...

Centralization is not bad by itself but it’s bad when there’s no other option. There just needs to be ways to contribute to code without having to use Github.

You have plenty of ways to do that, and you know that because you just listed them. Github is not a monopoly.

Also, I don't see the concept of open source mentioned at any point in this rant.

[–] cmhe 36 points 8 months ago (1 children)

You don't know what a "monopoly" is.

What the author is probably searching for is "vendor-lockin", which is an anticompetitive practice for so long that it became the way many companies rely their business on. It favors established products over new-comers by making switching offerings difficult/expensive or even impossible, thus better products often have no chance of competing in a field, that was dominated by a single supplier for a while.

IMO there should be strict regulations and high fines associated with it, because it hinders innovation massively across all industries.

The cost of switching away from github for a project is high, but not as high as in other fields.

[–] DacoTaco 23 points 8 months ago (1 children)

Imo github doesnt have that high of a vendor lock-in. Its git, you can clone and push it to another server. Sure, youll have to convert the ci's and templates, but thats about it really.
And a good yaml is easily converted as the ideas and actions are the same, only the action names are different.
But yes, i think that is what the author was getting at.

[–] cmhe 12 points 8 months ago (2 children)

It has more than you expect, if your project is established on github and want to move away you have to deal with:

  • migration of issues
  • migration of pull requests
  • migration of all review comments etc
  • migration of the wiki
  • migration of the pages
  • convince all contributors to possible create a new account somewhere else
  • changing of the project urls. I don't think github offers a url rewrite service
  • forks on github will not have the new destination as the fork base
  • change the ci and release process
  • because you cannot add url rewrite rules to your old gh project, you might need to only 'archive' the project there with manually written text, to point to the new destination, for people to find it
[–] DacoTaco 8 points 8 months ago (2 children)

Ye, some of these i started thinking of after i made my comment, which is my bad. Its true a project that uses the full github stack is harder to move, its its still relatively easy. The only problem you'd have is redirecting traffic to a new host, but this problem exists in all platforms and not only in project management sites like github.
As for your bulletpoints, i have a few remarks. Mainly that github pages are silly and they should not be used as a website. And even if you are, there are tools out there to convert the markdown from github pages into html/css/js so moving that is easy. Same with wiki pages, they are just markdown. 90% of markdown is compatible with other sites, and the parts that arent probably have a site specific syntax that youll need to look up, nothing bad. Review comments i will disregard, as those are part of the PR process. Once a project is moved you could hide the PR tab on github or close all new ones redirecting them to the new host. All older ones can be handled and phased out. Once a pr is merged, get the commit from github and push it to the new host. Thanks git!
Random contributers have nothing to say imo. If a project's team feels the need to move away from github a true contributer/side team member/helper will move with them, and if they dont then so be it. Once a project team feels the need to move, something bad must be going on and moving will always be the better move for their mental health than to keep working with bad stuff.
As mentioned before ci/release pipelines are all yaml. Their odeas stay the same, only action names & their patameters change. Nothing complex there to move there...

So im short : only moving your traffic is a real problem, but is a problem on all websites and all communities, not just github or a project on github

[–] cmhe 2 points 8 months ago

As I said, it is not impossible to move away from gh compared to many other cases in other industries, just that it is more difficult than necessary because vendor-lockin is allowed.

If vendor-lockin was illegal, companies had more incentives to use established or create new standards to facilitate simpler migration between software stacks, without changing the external interface.

For instance allowing your own DNS name to be used as the repo/project basepath instead of enforcing github.com, Allowing comments, reviews, issues and pull requests via email or other federated services, instead of enforcing github accounts to do so, providing documented, stable and full-featured APIs for every component of their software, so that it is easy to migrate and pick and choose different components of their while stack from possible different vendors, ...

There are so many ways that would improve the migration situation, while also providing more ways for other ideas to compete on a level playing field. If a bright engineer has an idea for improving one component from github, they should not be required to write a whole separate platform first.

[–] [email protected] 1 points 8 months ago (2 children)

Small aside: Microsoft GitHub’s proprietary Markdown fork is certainly not 90% compatible—most egregious IMO was overloading blockquote semantics with callouts which breaks semantics all over the web. Some providers & forks have had to support their fork due to the monopoly control MS GitHub asserts.

[–] DacoTaco 1 points 8 months ago (1 children)

Ye fair, it all depends on what markup you have and what features you use. Personally i dont think my markup of priiloader has any weird stuff that is specific to github, but i will have to check to be honest. If there was any special stuff id try to steer away from github specifics as much as i can, because i believe and work in a way it should always be possible to take away any part of a project and replace it with something else. It makes projects very flexible to change

[–] [email protected] 1 points 8 months ago

The real issue is the base Markdown spec is absolutely barren. Folks have tried to shoehorn Markdown into something general purpose so everyone & their brother needed to fork it to add some level of usability since base Markdown isn’t suitable for blogging, technical documentation, white papers, etc. which it was never designed to do

[–] [email protected] 1 points 8 months ago (1 children)

Do you mean admonitions? E.g. info, warning, etc? There's precedent for that in commonly-used open source implementations, e.g. obsidian.md (which uses the same syntax, and started before). What semantics does it break? It's designed to read well in plaintext and render nicely even if used in a renderer that doesn't support admonitions, e.g.

[!NOTE] Information the user should notice even if skimming.

As opposed to other common markdownish implementations that use nonsensical plaintext which renders poorly in alternative renderers. Here's a discussion on the topic in the CommonMark forums.

[–] [email protected] 1 points 8 months ago

Read the Markdown spec where it says the > denotes a blockquote. There isn’t room to overload it without breaking that into something not backwards compatible (such as CommonmsMark which will follow the spec & render a blockquote—which, according to the HTML spec, must be text quoting a source). Just because some of the bigger players—namely the proprietary forks, Obsidian & MS GitHub—doesn’t mean it’s not breaking with the original spec. Go ahead & do it, but don’t lie & say it is Markdown or Markdown-compatible. Instead these entities try to push & sway everyone to adopt their syntax rather than working with say CommonMark with RFCs.

CommonMark has the ::: block syntax, but folks using this are relying on stringly-typed, not-well-defined options when they do ::: note as it just becomes a CSS class where anyone could style it.

As callouts are such an everpresent construct in technical writing, documentation, & so on, what you need is first-class support. Docbook as an output has first-class support, but sadly W3 shot down the last attempt at an element proposal (but can be properly by manually constructed with role=note & aria-labelledby). reStructuredText & AsciiDoc are both lightweight markup syntaxes that support first-class callouts & other elements (definition lists, summary/details, figures, etc.) as well as having first-class metadata (like basically every other creative work format for images, audio, documents).

All of this is to say what Microsoft is doing is no longer Markdown & only they hold the keys to the spec (you can complain in their forums, but you can’t submit an RFC or pull request). But also, Markdown / CommonMark are honestly ill-suited for the task of technical writing since it doesn’t support basic features for that task (embedding HTML defeats the purpose & portability)—and instead we have a lot of ad-hoc hacks & bad HTML output due to choosing the wrong tool for the job.

[–] [email protected] 6 points 8 months ago (1 children)

All of those issues would arise if you wanted to migrate an established project to Github as well.

[–] cmhe 2 points 8 months ago

Well the reason for that is the vendor-lockin and centralized technology.

If your project for instance uses a similar development method as the linux kernel does, e.g. sending and reviewing patches via mailing lists and providing url to push and pull git repos from, it is quite easy to switch out the software stack underneath, because your are dealing with quasi-standart data: Mbox, SMTP, HTTP(s) and DNS. So you can move your whole community to a different software stack by just changing some DNS entries and maybe provide some url rewrite rules without disrupting the development process.

I am not saying that the mailing list development process is the right one for every project, but it demonstrates how agnostic to the software stack it could be.

If vendor-lockin is made illegal, the service providers would have more incentives to use or create standardized APIs, so that their product can be replaced by competitors. So switching to or from github/gitlab/... becomes easier.

[–] [email protected] 9 points 8 months ago (1 children)

So, is google not a monopoly because there are other search engines out there? Does Apple not have a monopoly among US teenagers because there are Android phones available? Does Microsoft not have a monopoly in desktop computing because Apple and Linux exist or because phones exist?

What is your definition of monopoly and how does Github not fit it? I'm genuinely curious.

Anti Commercial AI thingyCC BY-NC-SA 4.0

Inserted with a keystroke running this script on linux with X11

#!/usr/bin/env nix-shell
#!nix-shell -i bash --packages xautomation xclip

sleep 0.2
(echo '
spoiler Anti Commercial AI thingy [CC BY-NC-SA 4.0](https://creativecommons.org/licenses/by-nc-sa/4.0/) Inserted with a keystroke running this script on linux with X11 ```bash' cat "$0" echo '``` :::') | xclip -selection clipboard xte "keydown Control_L" "key V" "keyup Control_L"

:::

[–] [email protected] -5 points 8 months ago (1 children)

So, is google not a monopoly because there are other search engines out there?

It isn't. There are other search engines. People use Google because it's the best, not because it's the only one available. If Google became a horrible search engine, people would switch no problem

Does Apple not have a monopoly among US teenagers because there are Android phones available?

Yes. Although Apple is preferred in this public (of which I don't know a lot about, so I won't try to guess why), Android is always an option. And a cheaper one, usually. This forces Apple to differentiate themselves by giving the best in what their users want (premium quality and status, I guess).

Does Microsoft not have a monopoly in desktop computing because Apple and Linux exist or because phones exist?

Same point.

What is your definition of monopoly and how does Github not fit it?

A monopoly is when a company is the only one in a market niche. Not the most prominent one.

[–] [email protected] 3 points 8 months ago (2 children)

A monopoly is when a company is the only one in a market niche. Not the most prominent one.

What would you call the latter then?

Anti Commercial AI thingyCC BY-NC-SA 4.0

Inserted with a keystroke running this script on linux with X11

#!/usr/bin/env nix-shell
#!nix-shell -i bash --packages xautomation xclip

sleep 0.2
(echo '
spoiler Anti Commercial AI thingy [CC BY-NC-SA 4.0](https://creativecommons.org/licenses/by-nc-sa/4.0/) Inserted with a keystroke running this script on linux with X11 ```bash' cat "$0" echo '``` :::') | xclip -selection clipboard xte "keydown Control_L" "key V" "keyup Control_L"

:::

[–] [email protected] 2 points 8 months ago* (last edited 8 months ago) (1 children)

I don't think there's a precise name for that, since it can be a lot of complex things. A monopoly is a very defined thing, that was my point.

A company can be prominent because it is just better at giving what the consumers want. That's the case of Google (as a search engine). I use Duck Duck Go, but very often I have to fallback to Google because DDG's results are just not quite right.

It can be prominent because what it does is very expensive and so only a few can even try it. That's again the case with Google. Creating a good search engine is hard, and Google just got more money to throw at it. That's also the case of Apple. What they are selling (premium products with very high quality and stability) is inherently expensive, and such they don't face a lot of competition (Sansung I guess). Many big corp will lobby the government to artificially make the market more expensive so they can rule out small fish (don't quote me on that, I'll not elaborate further).

A company can also turn itself into a conglomerate, merging, buying and assimilating other companies. That's the case with AbInbev here in Brazil. They assimilated most of the beer companies. It is very hard (in my opinion impossible) for this to turn into a monopoly, because there will be other big fish trying to play the same game (Petrópolis and Heineken in this case, for example), and there will always be those companies that will not accept being bought, hoping they will be the next big fish.

I'm not making any judgement of value here, I hate big corporations, but I think we should put blame where blame is due, and not attack straw men and use water down terms, because that's pretty weak.

[–] [email protected] 2 points 8 months ago* (last edited 8 months ago) (1 children)

I don’t think there’s a precise name for that, since it can be a lot of complex things.

Do you understand now why people call it a monopoly? Why the US Department of Justice alleges Apple to be a monopoly?

There are indeed 5 characteristics for a monopoly and only one need fit the target to be called a monopoly, of which your criteria is only one:

  • Profit maximizer: monopolists will choose the price or output to maximise profits at where MC=MR.This output will be somewhere over the price range, where demand is price elastic. If the total revenue is higher than total costs, the monopolists will make abnormal profits.
  • Price maker: Decides the price of the good or product to be sold, but does so by determining the quantity in order to demand the price desired by the firm.
  • High barriers to entry: Other sellers are unable to enter the market of the monopoly.
  • Single seller: In a monopoly, there is one seller of the good, who produces all the output.[6] Therefore, the whole market is being served by a single company, and for practical purposes, the company is the same as the industry.
  • Price discrimination: A monopolist can change the price or quantity of the product. They sell higher quantities at a lower price in a very elastic market, and sell lower quantities at a higher price in a less elastic market.

Had you provided another term, I would have agreed with you that the author doesn't know what a monopoly is, but it seems like the inverse is true.

[–] [email protected] 0 points 8 months ago* (last edited 8 months ago)

I don't like to argue semantics on the internet so I won't answer further than this

US Department of Justice alleges Apple to be a monopoly

With all due respect, I really don't care what the US government calls a monopoly. It doesn't make it a monopoly just because some county government said so.

Single seller: In a monopoly, there is one seller of the good, who produces all the output.[6] Therefore, the whole market is being served by a single company, and for practical purposes, the company is the same as the industry.

That's the most important thing. We agree on that one. A monopoly is the singular provider of a good in the market. Github is not the only provider of git hosting (think Gitlab and Bitbucket). Apple is not the singular provider of smartphones (Sansung, Motorola, Xiaomi, etc), nor it's the singular provider of laptops (Lenovo, Samsung, Alienware, Framework). All of the other points are things that monopolies do, but alone doesn't make a monopoly.

This difference is important, because creating a true monopoly is impossibly hard. So hard in fact, that they are usually caused by interference of the government (like Petrobrás here), not the other way around.

[–] [email protected] 1 points 8 months ago (1 children)
[–] [email protected] 1 points 8 months ago

Wouldn't it be when there are only 2 companies selling a product by @[email protected]'s logic? Windows for example has 71% desktop marketshare worldwide, but Apple, Linux, BSD, Redox, TempleOS, and others as "competitors". Or ~90% of all sunglasses are made by one company in Italy, but there are hundreds of copycats from China and other countries with knockoffs.

What's that called? I'm still curious about @[email protected]'s answer.

Anti Commercial-AI license

[–] DacoTaco 9 points 8 months ago

Ye, i went to this post diagonally and it felt like a rant without any merit. Dont get me wrong, i dont fully like github either but this was just a waste of time to read...

[–] [email protected] 6 points 8 months ago* (last edited 8 months ago)

You don’t know what a “monopoly” is.

Do you though? A clarification that most people miss : "In economics, a monopoly is a single seller. In law, a monopoly is a business entity that has significant market power, that is, the power to charge overly high prices, which is associated with a decrease in social surplus." (from Wikipedia) So are you 100% sure that the author was talking from an economical rather than legal viewpoint?

So sure, in theoretical economics GitHub is not a monopoly, rather it's part of an oligopoly. Yet, in law, it is in practice a monopoly. GitHub is so big that it does shape the market of collaborating on (open-source) software, even though alternatives do exist.

[–] [email protected] 4 points 8 months ago (1 children)

Well, if you want to contribute to a project to github then you are pretty fucked if the gate keepers won't let you

[–] [email protected] 0 points 8 months ago (2 children)

You're not "pretty fucked". Just use one of the many other git hosts out there. OP himself lists some of them in his rant.

[–] [email protected] 4 points 8 months ago (1 children)

You didn't seem to read what I said. I can't force other projects that I don't own off github.

[–] [email protected] -1 points 8 months ago

Actually, you can do exactly that. Fork them.

You can't force the people who are using Github to follow you, of course. But that's every individual's choice.

[–] [email protected] 3 points 8 months ago (1 children)

How do you contribute to project on Github from a different git host?

[–] [email protected] 2 points 8 months ago (1 children)

Oh, that's what you meant. How do you contribute to a project on any git host if that git host won't let you? In what way is GitHub any different from that?

[–] [email protected] 1 points 8 months ago (1 children)

Its different in that other platforms aren't run by evil corporations that could decide to deplatform a user.

[–] [email protected] 0 points 8 months ago (1 children)

You think Microsoft is the only "evil corporation" among these? That's very naive. Any hosting service will deplatform users when they can see a profit to be made from doing so.

[–] [email protected] 2 points 8 months ago

My point is don't go with a corporation. Use open source software. Use codeberg.

[–] [email protected] 4 points 8 months ago

Not like you can just visit some other selfhosted community on lemmy or reddit and see how others started hosting a local git appliance for their scripts and what not.

[–] [email protected] 1 points 8 months ago

Cut them some slack. They're at an age where they're trying to assert their independence and their brain is still developing. They've got time to mature and find more worthy fights over which to spill words. Or maybe they'll remain smooth-brained. But either way, right now they're not at their best.