mdlbear: (technonerdmonster)

If you develop software and haven't just returned from the moon, you've undoubtedly heard that GitHub is being acquired by Microsoft. Depending on your affiliations you might be spelling "being acquired by" as "selling out to". The rest of you are probably wondering what on Earth a GitHub is, and why Microsoft would want one. Let me explain.

Please note: this post isn't about my opinion of today's news. It's really too early to tell, though I may get into that a little toward the end. Instead, I'm going to explain what GitHub is, and why it matters. But first I have to explain Git.

Git is a version-control system. (Version-control systems are sometimes called "source code management" (SCM) systems. If you look closely you might even have spotted "scm" in git's URL up there at the end of the last paragraph.) Basically, a version-control system lets you record the complete history of a project, with what changes were made, who made the each change, when they changed it, and their notes about what they did and why. It doesn't have to be a software project, either. It can be recipes, photographs, books, the papers you're writing for school, or even blog entries. (Yes, I do.)

Before git, most version-control systems kept track of changes in text files (which of course is what all source code is) by recording which lines are different from the previous version. (It's usually done by a program called diff.) This was very compact, but it could also be very slow if you had to undo all the changes between two versions in order to see what the older one looked like.

Git, on the other hand, is blindingly fast in part because it works in the stupidest way possible (which is why it's called "git"). It simply takes the new version of each file that changed since the last version, zips it up, and stuffs it whole into its repository. So it takes git about the same amount of time to roll a file back two versions or two hundred.

The other thing that makes git fast is where it keeps all of its version information. Before git, most version-control systems used a centralized repository on a server somewhere. (Subversion, one of the best of these, even lets you browse the repository with a web browser.) That means that all the change information is going over a network. Git keeps its repository (these days everyone shortens that to "repo") on your local disk, right next to your working copy, in a hidden subdirectory called ".git".

Because its repo is local, and contains the entire history of your project, you don't need a network connection to use git. On the beach, in an airplane, on a boat, with a goat, it doesn't matter to git. It's de-centralized. It gets a little more complicated when more than one developer is working on a project.

Bob's been in the office all week working on a project. When his boss, Alice, comes back from the open source conference she's been at all week, all she has to do is tell git to fetch all the changes that Bob made while she was away. Git gets them directly from Bob's repo. If Alice didn't make any changes, that's called a "fast-forward" merge -- git just takes the changes that Bob made, copies those files into Alice's repo, updates her working tree, and it's done.

It's a little trickier if Alice had time to make some changes, too. Now Alice has to merge the two sets of changes, and then let Bob pull the merged files onto his computer. By the way, a "pull" is just a fetch followed by a merge, but it's so common that git has a shorthand way of doing it. (I'm oversimplifying here, but this isn't the time to go into the difference between merge and rebase. It's also not a good time to talk about branches -- maybe some other week.) As you can imagine, this gets out of hand pretty quickly, and it's even worse if there's a whole team working on the project.

The obvious thing to do is for the group to have one repo on a server somewhere that has what everyone agrees is the definitive set of files on it. Bob pushes his changes to the server, and when Alice tries to push her changes, git balks and gives her an error message. Now it's Alice's responsibility to make any necessary fixes and push them to the server. Actually, in a real team, Alice would send her proposed changes around by making a diff and sending email to the other team members to review, and not actually push her changes until someone approves them.

In a large team, this is kind of a hub-and-spokes arrangement. You can see where this is going, right?

GitHub is a company that provides a place for people and projects to put shared git repositories where other people can see them, clone them, and contribute to them. GitHub has become wildly popular, because it's a great place to share software. If you have an open-source software project, putting a public repo on GitHub is the most effective way to reach developers. It's so popular that Google and Microsoft shut down their own code-hosting sites (Google Code and CodePlex respectively) and moved to GitHub. Microsoft, it turns out, is GitHub's biggest contributor.

Putting a public repository on GitHub is free. If you want to set up private repositories, GitHub will charge you for it, and if your company wants to put a clone of GitHub on its own private servers they can buy GitHub Enterprise, but if your software is free, so's your space on GitHub.

That's a bit of a problem, because the software that runs GitHub is not free. That means that they need a steady stream of income to pay their in-house developers, because they're not going to get any help from the open-source developer community. GitHub lost $66 million in 2016, and doesn't really have a sustainable business model that would make them attractive to investors. They needed to get acquired, or they had a real risk of going under. And when a service based on proprietary software goes under, all of their customers have a big problem. But their users? Heh.

Everybody knows the old adage, "if you're getting a service for free you're not the customer, you're the product." That's especially true for companies like Google and Facebook, which sell their users' eyeballs to advertisers. It's a lot less true for a company whose users can leave any time they want, painlessly, taking all their data and their readers with them. I'm sure most of my readers here on Dreamwidth remember what happened to Livejournal when they got bought by the Russians. Well, GitHub is being bought by Microsoft. It's not entirely clear which is worse.

GitHub has an even worse problem than Livejournal did, because "cross-posting" is basically the way git works. There's a company called GitLab that looks a lot like GitHub, except that their core software -- the stuff that wraps a slick web interface around a git repository -- is open source. (They do sell extensions, but most projects aren't going to need them.) If you want to set up your own private GitLab site, it's free, and you can do it in ten minutes with a one-line command. If you find bugs, you can fix them yourself. You'll find a couple of great quotes from their blog at the end of the notes, but the bottom line is that 100,000 repositories have moved from GitHub to GitLab in the last 24 hours.

And once you've moved a project to GitLab, you don't have to worry about what happens to it, because the open-source core of it will continue to be maintained by its community. That's what happened when a company called Netscape went belly-up: Mozilla Firefox is still around and doing fine. And if the fact that GitLab is for profit is a problem for you, there's Apache Allura, gitolite3, gitbucket, and gitweb (to name a few). Go for it!

 

This so wasn't what I was planning to write today.

Notes:
  @ Microsoft Reportedly Acquires GitHub | Linux Journal
    The article ends with a list of alternatives:
    Gitea
    Apache Allura
    GitBucket: A Git platform
    GitLab
  @ Microsoft acquires GitHub for $7.5 billion - TFiR
    " According to reports, GitHub lost over $66 millions in 2016. At the same time
      GitLab, a fully open source and decentralized service is gaining momentum, giving
      users a fully open source alternative. "
  @ Microsoft to acquire GitHub for $7.5 billion | Stories official press release
  @ Microsoft + GitHub = Empowering Developers - The Official Microsoft Blog
  @ A bright future for GitHub | The GitHub Blog
  @ Congratulations GitHub on the acquisition by Microsoft | GitLab
    " While we admire what's been done, our strategy differs in two key areas. First,
      instead of integrating multiple tools together, we believe a single application,
      built from the ground up to support the entire DevOps lifecycle is a better
      experience leading to a faster cycle time. Second, it’s important to us that the
      core of our product always remain open source itself as well. "
  @ GitLab Ultimate and Gold now free for education and open source | GitLab 
    " It has been a crazy 24 hours for GitLab. More than 2,000 people tweeted about
      #movingtogitlab. We imported over 100,000 repositories, and we've seen a 7x increase
      in orders. We went live on Bloomberg TV. And on top of that, Apple announced an
      Xcode integration with GitLab. "

Another fine post from The Computer Curmudgeon.

mdlbear: (borg)

I finally found a Microsoft product I liked well enough to buy at Fry's today. One of the best in its class, actually.

It turns out they make really good backpacks )
mdlbear: (kill bill)
Five Reasons Google Docs Beats Office Live Workspace - Software - IT Channel News by CRN and VARBusiness
Just like all things related to Microsoft's Software-as-a-Service (SAAS) strategy, Office Live Workspace is a patched together, too little, too late offering compared to Google Docs. Question for Microsoft CEO Steve Ballmer: when will Microsoft deliver a SaaS offering that the channel can take advantage of that beats Google hands down?
mdlbear: (gates-pirate)

FSF launches campaign against Microsoft Vista

Boston, MA -- December 15, 2006 -- The Free Software Foundation (FSF) today launched BadVista.org, a campaign with a twofold mission of exposing the harms inflicted on computer users by the new Microsoft Windows Vista and promoting free software alternatives that respect users' security and privacy rights.

mdlbear: (kill bill)

I'll probably post something about Novell's sellout to Microsoft later, but this comment on Groklaw is way too good not to share:

"And MS crack legal team [...]"

Play nice now. Just because you can point to the MS Litigation page for evidence, it doesn't show the MS legal team is on crack. That's only circumstantial evidence. There are other legitimate reasons for all those failures (aka, settlements).

mdlbear: (sony)
Medialoper » Zune’s Big Innovation: Viral DRM
Unfortunately Zune’s wireless music sharing is turning out to be one of those features that seemed better when it was just a rumor. While Zune users will be able share music with friends, there’s a catch (isn’t there always). As Jim noted earlier, recipients of shared songs will only be able to listen to them three times or for three days, whichever comes first. It sort of sounds like a really bad tire warranty.

Zune accomplishes this amazingly stupid feat by wrapping shared music in a proprietary layer of DRM, regardless of what format the original content may be in. If Microsoft’s claims are to be believed, this on-the-fly DRM will be seamless and automatic - which must be some kind of first for Microsoft.
...and that DRM, in turn, violates the Creative Commons license or any other license that prohibits DRM in order to encourage sharing.

I note in passing that all my music is available under a CC(by-sa-nc) license, and I'd be delighted to be part of a class-action suit against Microsoft.

(From slashdot
mdlbear: (kill bill)
Latvians laugh at Vista -- the Inquirer
Microsoft marketers are having a hell of a job establishing the super soaraway operating system in the pecking order in Latvia.

Apparently, whenever they ring up peddling Vista, Latvians burst out laughing because the name means "chicken" or "frumpy woman" in the local lingo.
(more here)
"Sure, the Microsoft people in the US cant be expected to understand all languages, but this really is funny," he said.

Arvis, an IT manager of a chain of casinos in Riga, was also chuckling about Microsoft Frump. Or Fowl. No, make that Vista.
(From a thread on groklaw.net)

Why am I suddenly reminded of the Chevy Nova ("No va" = "doesn't go" in Spanish)? Or, for that matter, Microsoft's Windows CE, universally pronounced "wince".
mdlbear: (kill bill)

This blog entry by a Microsoft insider goes partway toward explaining just what's broken about Microsoft's development process. Good summary, minus the annoying boldface-every-other-word typography, here at the Inq.

After months of hearing of how a certain influential team in Windows was going to cause the Vista release to slip, I, full of abstract self-righteous misgivings as a stockholder, had at last the chance to speak with two of the team's key managers, asking them how they could be so, please-excuse-the-term, I-don't-mean-its-value-laden-connotation, ignorant as to proper estimation of software schedules. Turns out they're actually great project managers. They knew months in advance that the schedule would never work. So they told their VP. And he, possibly influenced by one too many instances where engineering re-routes power to the warp core, thus completing the heretofore impossible six-hour task in a mere three, summarily sent the managers back to "figure out how to make it work." The managers re-estimated, nipped and tucked, liposuctioned, did everything short of a lobotomy -- and still did not have a schedule that fit. The VP was not pleased. "You're smart people. Find a way!" This went back and forth for weeks, whereupon the intrepid managers finally understood how to get past the dilemma. They simply stopped telling the truth. "Sure, everything fits. We cut and cut, and here we are. Vista by August or bust. You got it, boss."

Every once in a while, Truth still pipes up in meetings. When this happens, more often than not, Truth is simply bent over an authoritative knee and soundly spanked into silence.

Nicely put, but I don't think he really grasps the whole problem. This is shown by his assertion that Vista is "the largest concerted software project in human history. The types of software management issues being dealt with by Windows leaders are hard problems, problems that no other company has solved successfully." He's wrong on the first count -- Debian is bigger -- and probably on the second as well. In any case, communities such as the Linux and Apache communities solve those problems spectacularly well on a regular basis.

mdlbear: (kill bill)

Gives 13 tongue-in-cheek, somewhat racy reasons to switch to Firefox. Possibly not work safe if cow-orkers are close enough to read it.

Most Popular Tags

Syndicate

RSS Atom

Style Credit

Page generated 2019-04-22 02:53 pm
Powered by Dreamwidth Studios