(OK, so I want to do several things with this, but to dive right now into the meta of all of them is going to work against some of my purpose, so I'll try to come back to that exposition.)
For now, there's an essential point I want to get out there for discussion: The various code hosting sites are, essentially, social media for developers. I'm titling this with GitLab because that's slightly more in tune with the way I want to direct attention, but it's not the elephant in the room.
Speaking of elephants, consider Facebook as an obvious example of social media. The user base it first targeted was Harvard undergraduates. Then, it made itself available to students at other universities, before eventually opening sign-ups to everyone.
GitLab hasn't grown so far beyond serving the broader development community as Facebook has done growing from its roots. But, GitLab has certainly grown beyond being just a way of using version control to develop software. It does so through features that have the social media nature.
I began to realize this aspect of things like GitLab a few years ago. I tend not to think of myself as a developer. Maybe it would be fair to say that I'm developer-adjacent, or that I represent an ancestral form, a creature found somewhere in the murky waters amongst devops, site-reliability engineering, developer advocacy, helpdesk, and break-fix. Autodidact computer nerd who does write some code, but only occasionally, not very much, and not very well.
I point this out about myself because I was, after many years as a "computer
guy," still learning how to use version control and how to use git
. How git
particularly helped me learn version control and what that has enabled me to
do is another story.
What's important to me here, now, is that I wanted to learn how to use git
before I really started using things like GitLab. I didn't want my
knowledge and use of git to revolve around software-as-a-service that might
go away at any time, or, more likely, whose terms might change stepwise over time to my detriment.
I knew its inspiration was a centralized cloud service with all the asymmetries in power between user and
provider that that entails.
I wanted to learn version control without that dependency. I wanted to keep it at arm's length, at least for a while, instead of diving in. I wanted to keep some broader perspective, some distance, some separation. But, I didn't right away think of it as a social media site. This was my "git before GitLab" phase.
Once I had a minimum level of git
competency under my belt, I drew up a
little closer to GitLab to try to work with it. Approaching it from this
direction colored my perception of GitLab's nature. Using the tool I had
close at hand, a freshly minted facility using git
, I interpreted GitLab as
a way of using git
. All the rest was ancillary, beside the point. In fact,
because of the lock-in nature of centralized cloud systems, I made it a
point to turn my head away, when I could, from as many of the features of
GitLab weren't used directly with git
. I was still trying to protect myself
first, rather than look clearly at GitLab as a thing in itself, how it
works, how the risks of using it are intertwined with the rewards of using
it.
Now, though, I've seen enough that I'm ready to move out of "git before GitLab" mode and into something that's less about just me and my use. I want to help people still new to things like GitLab and what they represent. I want to help them navigate around GitLab's wider role as a social media site. I've begun thinking of this as "deconstructing GitLab".