Diff for "Activities/ArgumentsForDiscussion/PositionOnVCS"

Differences between revisions 11 and 12
Revision 11 as of 2017-06-14 13:15:23
Size: 4404
Editor: max.mehl
Comment: add gitea
Revision 12 as of 2017-09-20 19:12:20
Size: 4453
Editor: jzarl
Comment: topic not suitable for TechDocs
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
## page was renamed from TechDocs/PositionOnVCS

Version Control Systems became very popular in the last years. We as Free Software Advocates should be aware of the different platforms, projects and companies in this sector. Therefore, we collect some thoughts about popular services and their alternatives.

This page is beta, as it only tries to summarise an ongoing discussion! Please join our discussions or provide us with feedback.

Single VCS solutions

Github

Why is Github so popular?

  • New level of source code hosting: Git, Wiki, issue tracking, collaboration inside and outside a project
  • One tool for all
    • in contrary to UNIX philosophy
  • GH is big, makes projects visible and collaboration easier

Positive

  • New and effective workflow of fork-edit-pull
  • Could have had a positive effect on Free Software projects. Possible reasons:
    • more FS projects
    • easy collaboration
    • probably quality boosts
  • We have to think about: Is it better to have more FS projects overall on some non-free platforms, or less FS projects but only on free platforms?

Negative

  • Lock-In effect
    • Contra: Clients are free, APIs are public to move projects to other platforms
    • No lock-in by technical restrictions but by habits?
    • Need yet another account (and adherence to another set of terms and conditions)

Some other solutions

See this Wikipedia article for an extensive list and comparison. Here thoughts on some of these platforms and some services which are not mentioned in the Wikipedia article:

  • savannah.gnu.org

    • Runs on Savane
    • 100% Free Software
  • Gitbucket

    • Description: "Gitbucket is a Github clone powered by Scala"
    • Free Software (Apache License)
    • Provides functionalities like issues, wikis, pull requests...
    • Similar to workflow of Github
  • gna.org

    • Runs on Savane
    • 100% Free Software
  • Gitea / Gogs

    • Description: "Gitea is a painless self-hosted Git Service written in Go."
    • Free Software (MIT)
    • Very similar to Github, supports issues, wiki, pull requests, CI integration (with Drone)...
    • The interface we're using on git.fsfe.org

  • Gitlab

    • can be self-hosted, but also used on gitlab.com
    • Open-Core model
      • Community Edition (CE) is Free Software and quite usable
      • Enterprise Edition (EE) is under a proprietary license and contains features not available in CE
    • Experience is similar to Github
  • Phabricator
    • Seems to be good, but complicated for many people
  • github-backup

    • "github-backup is a simple tool you run in a git repository you cloned from Github. It backs up everything Github publishes about the repository, including branches, tags, other forks, issues, comments, wikis, milestones, pull requests, watchers, and stars."
  • Kallithea

    • For self-hosted projects (although there may be hosting providers)
    • Repository browsing, history graph, pull requests, commit statistics
    • Mercurial and Git support
    • 100% Free Software (GPLv3), Software Freedom Conservancy member project

Recommendations for new projects

  1. If a program belongs to a bigger community (KDE, Gnome, Apache, GNU), host it on their platforms to increase synergy effects
  2. If it's something different, look at Free Software platforms (see above). If your project gets bigger, you'll need an own website, wiki or mailing list anyway. So why not an own git repository from the beginning?
  3. If even that is no solution, look at Github.com or Gitlab.com but be aware of the downsides!

Possible ways to improve the whole situation

  • Creating a multiplexer: 1 client for many networks and platforms
  • More initiative of people to pay for (Free Software) services
  • More ways to connect decentral instances to increase visibility for a project

Related Articles

Activities/ArgumentsForDiscussion/PositionOnVCS (last edited 2017-09-20 19:12:20 by jzarl)