(Tried sending this last weekend w/ an image attachment, which wikitech-l apparently didn't like. Trying again)
Scott's RFC about Travis got me thinking about GitLab again. To satisfy my curiosity, I conducted a little experiment this weekend: I imported the Wikipedia iOS GitHub repo into GitLab [0], configured it to use GitLab CI [1], and added my own laptop as a runner. I didn't do this with any specific outcome in mind, but wanted to share the results as food for thought.
While just a proof of concept, it took maybe an hour to setup and, perhaps most notably, is powered entirely by FLOSS (aside from some components specific to iOS development). I've added my thoughts about approach below, but take with a grain of salt as my experience was quite brief:
*Pros*
- FLOSS - Versatile - This setup uses a shell runner on an OSX machine, but other setups could use shared runners, dedicated runners, runners on Linux inside Docker containers, etc. - Decent-looking number of contributors (though clearly one person is doing the lion's share on GitLab) [2] - Easy to setup
*Cons*
- Small number of pre-made runners (e.g. compared to Travis) - Especially true for OS X, which appears to have no shared runners. Therefore, we'd have to provide our own (like I did with my own laptop). This could be facilitated via configuration management systems (e.g. Boxen or Ansible), but still not as "hassle free" as Travis (which provides OS X VMs as part of the service).
*Unknowns*
- How to hook up runners that reside in our secure networks (e.g. the iOS Mac Mini) - ToU / ToS
Otherwise, my overall impression of GitLab was very positive. It seems to have all the same features of GitHub and then some*:* e.g. protected branches and requiring approval from specific individuals for merge requests (similar to our +1/+2 system). Also, the UI is very modern and I found it quite enjoyable to use.
Hope you found this interesting and had some fun experiments of your own this weekend :-)
Brian
0: https://gitlab.com/wikimedia/wikipedia-ios 1: https://gitlab.com/wikimedia/wikipedia-ios/merge_requests/1 2: http://contributors.gitlab.com/
Thanks Brian for your thoughts.
Only commenting on one small part:
<quote name="Brian Gerstle" date="2015-10-07" time="11:10:03 -0400">
*Pros*
- FLOSS
...ish. Not really. "Open Core".
See: https://en.wikipedia.org/wiki/GitLab#History
A view on why Open Core isn't healthy for FLOSS communities: http://ebb.org/bkuhn/blog/2009/10/16/open-core-shareware.html
Greg
I hate to say it, but this is exactly why we should be preferring copyleft licenses. GitLab began as completely FOSS, but only later on split into the CE and EE, which they were able to do because they used MIT.
*-- * *Tyler Romeo* Stevens Institute of Technology, Class of 2016 Major in Computer Science
On Wed, Oct 7, 2015 at 11:26 AM, Greg Grossmeier greg@wikimedia.org wrote:
Thanks Brian for your thoughts.
Only commenting on one small part:
<quote name="Brian Gerstle" date="2015-10-07" time="11:10:03 -0400"> > *Pros* > > - FLOSS
...ish. Not really. "Open Core".
See: https://en.wikipedia.org/wiki/GitLab#History
A view on why Open Core isn't healthy for FLOSS communities: http://ebb.org/bkuhn/blog/2009/10/16/open-core-shareware.html
Greg
-- | Greg Grossmeier GPG: B2FA 27B1 F7EB D327 6B8E | | identi.ca: @greg A18D 1138 8E47 FAC8 1C7D |
Wikitech-l mailing list Wikitech-l@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/wikitech-l
Thanks for the correction & link, Greg, will check that out. Is this different than GitHub's approach? Is it better or worse?
On Wed, Oct 7, 2015 at 11:43 AM, Tyler Romeo tylerromeo@gmail.com wrote:
I hate to say it, but this is exactly why we should be preferring copyleft licenses. GitLab began as completely FOSS, but only later on split into the CE and EE, which they were able to do because they used MIT.
*-- * *Tyler Romeo* Stevens Institute of Technology, Class of 2016 Major in Computer Science
On Wed, Oct 7, 2015 at 11:26 AM, Greg Grossmeier greg@wikimedia.org wrote:
Thanks Brian for your thoughts.
Only commenting on one small part:
<quote name="Brian Gerstle" date="2015-10-07" time="11:10:03 -0400"> > *Pros* > > - FLOSS
...ish. Not really. "Open Core".
See: https://en.wikipedia.org/wiki/GitLab#History
A view on why Open Core isn't healthy for FLOSS communities: http://ebb.org/bkuhn/blog/2009/10/16/open-core-shareware.html
Greg
-- | Greg Grossmeier GPG: B2FA 27B1 F7EB D327 6B8E | | identi.ca: @greg A18D 1138 8E47 FAC8 1C7D |
Wikitech-l mailing list Wikitech-l@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/wikitech-l
Wikitech-l mailing list Wikitech-l@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/wikitech-l
On Wed, Oct 7, 2015 at 12:34 PM, Brian Gerstle bgerstle@wikimedia.org wrote:
Thanks for the correction & link, Greg, will check that out. Is this different than GitHub's approach? Is it better or worse?
GitHub is entirely proprietary. So technically yes, GitLab's approach is a little better, since at least some core part of the software remains open.
*-- * *Tyler Romeo* Stevens Institute of Technology, Class of 2016 Major in Computer Science
<quote name="Tyler Romeo" date="2015-10-07" time="12:44:52 -0400">
On Wed, Oct 7, 2015 at 12:34 PM, Brian Gerstle bgerstle@wikimedia.org wrote:
Thanks for the correction & link, Greg, will check that out. Is this different than GitHub's approach? Is it better or worse?
GitHub is entirely proprietary. So technically yes, GitLab's approach is a little better, since at least some core part of the software remains open.
With my non-work hat on[0], it's not really a matter of "better" or "worse". GitHub doesn't mince words; they are proprietary.
Gitlab, however, has tremendously annoyed the FLOSS community[1] by doing a "bait and switch" type move. Promoting their openness but also keeping more than just the "secret sauce" locked up.
See the things which they keep proprietary: https://about.gitlab.com/features/#compare Basic things like "git hooks". :/
Not a great example working relationship with FLOSS partners.
Greg
[0] Sending with my personal email address but via my wmf gmail account because I'm not subscribed to wikitech-l with my personal email.
[1] At least those who I talk with, including those in prominent FLOSS community positions, who were hoping for gitlab to be great.
That's a really good point, and something I did not think about.
-- Tyler Romeo https://parent5446.nyc 0x405D34A7C86B42DF
From: Greg Grossmeier greg@wikimedia.org Reply: Wikimedia developers wikitech-l@lists.wikimedia.org Date: October 7, 2015 at 13:19:55 To: wikitech-l@lists.wikimedia.org wikitech-l@lists.wikimedia.org Subject: [Wikitech-l] GitLab licensing (was Re: GitLab CI)
<quote name="Tyler Romeo" date="2015-10-07" time="12:44:52 -0400">
On Wed, Oct 7, 2015 at 12:34 PM, Brian Gerstle bgerstle@wikimedia.org wrote:
Thanks for the correction & link, Greg, will check that out. Is this different than GitHub's approach? Is it better or worse?
GitHub is entirely proprietary. So technically yes, GitLab's approach is a little better, since at least some core part of the software remains open.
With my non-work hat on[0], it's not really a matter of "better" or "worse". GitHub doesn't mince words; they are proprietary.
Gitlab, however, has tremendously annoyed the FLOSS community[1] by doing a "bait and switch" type move. Promoting their openness but also keeping more than just the "secret sauce" locked up.
See the things which they keep proprietary: https://about.gitlab.com/features/#compare Basic things like "git hooks". :/
Not a great example working relationship with FLOSS partners.
Greg
[0] Sending with my personal email address but via my wmf gmail account because I'm not subscribed to wikitech-l with my personal email.
[1] At least those who I talk with, including those in prominent FLOSS community positions, who were hoping for gitlab to be great.
-- | Greg Grossmeier GPG: B2FA 27B1 F7EB D327 6B8E | | identi.ca: @greg A18D 1138 8E47 FAC8 1C7D |
_______________________________________________ Wikitech-l mailing list Wikitech-l@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/wikitech-l
Greg Grossmeier wrote:
With my non-work hat on[0], it's not really a matter of "better" or "worse". GitHub doesn't mince words; they are proprietary.
Gitlab, however, has tremendously annoyed the FLOSS community[1] by doing a "bait and switch" type move. Promoting their openness but also keeping more than just the "secret sauce" locked up.
See the things which they keep proprietary: https://about.gitlab.com/features/#compare Basic things like "git hooks". :/
Not a great example working relationship with FLOSS partners.
[...]
[1] At least those who I talk with, including those in prominent FLOSS community positions, who were hoping for gitlab to be great.
I don't really follow the open source part of GitLab (such that it is), but I will say that I use GitLab Community Edition (CE) pretty regularly where I work and it's not bad. It's a GitHub knock-off, very similar to knock-off handbags: it looks pretty nice and it's totally functional, but when you look a bit more closely, you notice that it's lacking some of the finer features. For example, GitLab doesn't have that neat file finder that GitHub has. Maybe one day it will!
Without knowing much about GitLab's relationship with the FLOSS community, I will say that in general, I agree with the sentiment that being open source is still a lot better than most companies and code.
MZMcBride
wikitech-l@lists.wikimedia.org