Code Monkey home page Code Monkey logo

toastal does not support Microsoft GitHub as a code forge platform

Choosing proprietary tools and services for your free software project ultimately sends a message to downstream developers and users of your project that freedom of all users—developers included—is not a priority.

-- Matt Lee, https://www.linuxjournal.com/content/opinion-github-vs-gitlab

  • The D in DCVS is for distribrited which Git can (& probably should) be which should mean a project does not require a specific platform. Even if you would prefer an alternative UX, there should not be a barrier to contribution beyond email if a user does not wish to share data with MS GitHub (alternatively, decentralized authentication). Due to this, many projects are stuck on MS GitHub thru vendor lock-in. As a user, I must fork your project on MS GitHub to submit a pull request & I must have an account to raise or comment on issues. Worse is some communities, like Elm & Nix have tied their user identity in the community to this closed system.
  • MS GitHub is closed source, proprietary. While Git is open & many of the projects on MS GitHub are, MS GitHub itself is not. If you have a problem, you can’t just send up a fix nor can you fork & self-host the project. The best you can do is beg on their forums for bugfixes & feature requests, which is not the process of free forges.
  • GitHub is owned by Microsoft—the same company that used embrace, extend, extinguish (EEE) in the past to ruin software as a whole. Microsoft is at it again trying to further monopolize with Azure, Codespaces, Visual Studio (regular & Code), npm, Sponsors, & trying to steal mindshare from free software with Windows Subsystem Linux (WSL) & your org with Teams. Over time, they have been pushing for tighter & tighter integrations, & we can assume eventually they will see no need to afford any interop & more proprietary extensions will be added. We can already see integrated ads for their MS Copilot in the source views now. This is what happens under capitalism and publicly-traded companies are legally obligated to make profits for the shareholders & have no real allegience to helping the users if it does not help profit.
  • MS GitHub is trying to make code unnecessarily ‘social’ which doesn’t need to exist. We don’t need targeted advertising for other projects or anxiety about how colorful status progress bars are.

    Tip

    I have created a uBlock Origin list to help declutter your MS GitHub experience while forced to be here. (Sorry MS GitHub doesn’t support rST’s callouts/admonitions, only works using unsemantic code using a blockquote that they post process since they don’t care about semantics).

  • The API of MS GitHub is not very stable. So while you can tool your way around simple things like an email workflow, it is not as simple with GitHub.
  • Search results are gated. When you search a project on Microsoft GitHub & looking to use the “Code” section, when you are not authenticated you will get a ? results & clicking “Code” will bring you too a login. Users may not search code without a Microsoft account.
  • Collapsed comments are gated. Folks will tell you anyone can read the issues or whatever, but there’s a subset of content completely closed from the public.
  • MS GitHub’s Copilot should not be supported & it’s controversially either spitting out code that violates GPL or as one lawyer said all outputs are derivative & must be in the public domain (so your code may have future legal issues), it copies bugs, & isn’t there to help more than you help train it. As predictied, it is now a product sold back to you. While lessening the barrier to entry for programming could be good, training on all of our open code behind a closed platform, closed data, & capital-hungry entity to sell isn’t in the spirit of open source or free software. Currently the project is under litigation.
  • The $500k donation PR stunt is an attempt to get more folks to buy into their payment platform (which will take an additional 10% cut beyond other transaction fees). Naturally this was paid out only to folks that signed up for their payment service in an attempt to bring others in on FOMO & further monopolize the source code platform.

We’ve seen most GPL, GNU, & privacy-oriented projects move to alternatives because they want to respect their users and the spirit of open source. I hope to see your projects move to one of the alternatives soon too!

What can I as a user do today?

  • Use an alternative Git code forge
    Git-supporting Code Forge Alternatives
    SourceHut

    self-hostable AGPL service where using their hosted basics are free (including mailing lists & an IRC bouncer), but CI is paid, however it is not VC-funded nor does it have investors or shareholders to appease

    GNU Savannah

    for FLOSS software where your projects need to be approved as such

    Forgejo

    self-hosted, FLOSS GitHub clone essentially

    Codeberg

    Forgejo hosted by a German non-profit

    cgit

    tiny, self-hosted GPL Git UI

    GitLab

    free, open-core, Ruby-based forge support with full build pipeline & self-hostable community edition (however are VC-funded & is publicly traded so they have investors to appease, so we’ll see about the future)

  • Try an alternative to Git
    Some other VCS options
    Darcs

    “Darcs is a free and open source, cross-platform version control system, […] with a very different approach: focus on changes rather than snapshots. Darcs offers a freer way of working, and a simpler user interface.” Ever thought it was weird that the order of patches matters in Git when the output is the same?

    Pijul

    “Pijul is a free and open source (GPL2) distributed version control system. Its distinctive feature is to be based on a theory of patches, while still being fast and scalable. This makes it easy to learn and use, without any compromise on power or features.”

  • Ask your code communities & workplace to switch to an alternative code forge or officially back a mirror on an alternative. If that cannot be done, ask your code communities & workplace to at least allow additions to its larger ecosystem from these alternatives (plugins, packages, etc.) as well as posting a public mailing address to email code patches.
  • Oppose all attempts to standardize, endorse, or weigh anything in MS GitHub’s specific favor (like shorthands for packages)
  • Make sure educational institutions aren’t requiring students to sign up for proprietary accounts. It’s bad enough that the next generation continues to be trained in Adobe Suite & Microsoft Office instead of FLOSS / ethical options, but now Git & other VCSs are in the same boat where fundamentals can be learned that don’t require a proprietary service (and universites in particular have the resources to self-host at least cgit). If you are doing a workshop, bootcamp, or other smaller beginner-related activity, this rule should still apply. (German school are looking into it!)

Then why are you even here?

I back free software & software with adjacent ideologies …where a lot of these projects are here without much forethought about the drawbacks. I care more about that ethos than my self-held stance on where the code is hosted, but we need to get more code off this platform. You can’t have any migration conversations without contributing to projects in good faith. To a lot of folks MS GitHub is seen as a default & alternatives were never considered (worse is the cross section of folks that conflate Git as MS GitHub).

I’m also glaring at MS GitHub for stripping out <abbr> tags from rendered documents such as this even though these tags would help accessibility. Also thank you Microsoft for not properly implementing callouts which a) does not support reStructuredText/AsciiDoc & b) clashes with the CommonMark spec overloading blockquotes which render nonsemantic markup in most other contexts.

Where can I find your code now?

SourceHut (primary)

https://sr.ht/~toastal

darcs hub

https://hub.darcs.net/toastal

Smeederee

https://smeder.ee/~toastal

Codeberg

https://codeberg.org/toastal

GitLab

https://gitlab.com/toastal

toastal's Projects

a11y-css-reset icon a11y-css-reset

A small set of global rules to make things accessible and reset default styling

alcotest icon alcotest

A lightweight and colourful test framework

ale icon ale

Asynchronous linting/fixing for Vim and Language Server Protocol (LSP) integration

anim-com icon anim-com

Communication and animation for Exodus Privacy

any-nix-shell icon any-nix-shell

fish and zsh support for the nix run and nix-shell environments of the Nix package manager

anysoftkeyboard icon anysoftkeyboard

Android (f/w 2.1+) on screen keyboard for multiple languages (chat https://gitter.im/AnySoftKeyboard)

api icon api

Una API RESTful de sistemas web para Oficialía Mayor.

arconaitvstreamlinks icon arconaitvstreamlinks

On platforms without a Flash player and doesn't support the stream source type in the <video> tag in browser, a user gets a blank you're-not-supported screen when navigating to a stream. However, these platforms have applications like VLC and mplayer that can stream these streams outside of the browser. This application opens the stream file as a link which can then be associated with the video player of the user's choosing.

areweanticheatyet icon areweanticheatyet

A comprehensive and crowd-sourced list of games using anti-cheats and their compatibility with GNU/Linux or Wine.

asciidoctor.org icon asciidoctor.org

:globe_with_meridians: Asciidoctor project site. Composed in AsciiDoc. Baked with Awestruct.

bubblewrap icon bubblewrap

Bubblewrap is a Command Line Interface (CLI) that helps developers to create a Project for an Android application that launches an existing Progressive Web App (PWAs) using a Trusted Web Activity.

create-fp-ts-lib icon create-fp-ts-lib

Bootstrap libraries that follow common fp-ts coding, documentation and testing patterns

cryptogains icon cryptogains

Calculate capital gains for Bitcoin and other cryptocurrencies

csf icon csf

Component Story Format is an open standard for UI component examples based on JavaScript ES6 modules.

css-bliss icon css-bliss

A CSS style guide that puts the Clean, Smart, and Simple back into CSS

demo-ps icon demo-ps

Skeleton app with contrived client/server examples

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.