Print

Print


 > (As a general rule, for every programmer who prefers tool A, and says
 > that everybody should use it, there’s a programmer who disparages tool
 > A, and advocates tool B. So take what we say with a grain of salt!)

It doesn't matter what tools you use, as long as you and your team are 
able to participate easily, if you want to.  But if you want to attract 
  contributions from a given development community, then choices should 
be balanced between the preferences of that community and what best 
serve the project.

 From what I've been hearing, I think there is a lot of confusion about 
GitHub.  Heck, I am constantly learning about new GitHub features, APIs, 
and best practices myself. But I find it to be an incredibly powerful 
platform for moving open source, distributed software development 
forward.  I am not telling anyone to use GitHub if they don't want to, 
but I want to dispel a few myths I've heard recently:

------------

* Myth #1 : GitHub creates a barrier to entry.
* "To contribute to a project on GitHub, you need to use the 
command-line. It's not for non-coders."

GitHub != git.  While GitHub was initially built for publishing and 
sharing code via integration with git, all GitHub functionality can be 
performed directly through the web gui.  In fact, GitHub can even be 
used as your sole coding environment.  There are other tools in the 
"eco-system" that allow non-coders to contribute documentation, issue 
reporting, and more to a project.

------------

* Myth #2 : GitHub is for sharing/publishing code.
* "I would be fun to have a wiki for more durable poetry (github 
unfortunately would be a barrier to many)."

GitHub can be used to collaborate on and publish other types of content 
as well.  For example, GitHub has a great wiki component* (as well as a 
website component).  In a number of ways, has less of a "barrier to 
entry" than our Code4Lib wiki.

While the path of least resistance requires a "repository" to have a 
wiki, public repos cost nothing and can consist of a simple "README" 
file.  The wiki can be locked down to a team, or it can be writable by 
anyone with a github account.  You don't need to do anything via 
command-line, don't need to understand "git-flow", and you don't even 
need to learn wiki markup to write content.  All you need is an account 
and something to say, just like any wiki. Log in, go to the 
anti-harassment policy wiki, and see for yourself:
https://github.com/code4lib/antiharassment-policy/wiki

* The github wiki even has an API (via Gollum) that you can use to 
retrieve raw or formatted wiki content, write new content, and collect 
various meta data about the wiki as a whole:
https://github.com/code4lib/antiharassment-policy/wiki/_access

------------

* Myth #3 : GitHub is person-centric.
 > "(And as a further aside, there’s plenty to dislike about github as
 > well, from it’s person-centric view of projects (rather than
 > team-centric)..."

Untrue. GitHub is very team centered when using organizational accounts, 
which formalize authorization controls for projects, among other things: 
https://github.com/blog/674-introducing-organizations

------------

* Myth #4 : GitHub is monopolizing open source software development.
 > "... to its unfortunate centralizing of so much free/open
 > source software on one platform.)"

Convergence is not always a bad thing. GitHub provides a great, free 
service with lots of helpful collaboration tools beyond version control. 
  It's natural that people would flock there, despite having lots of 
other options.

------------

-Shaun







On 2/19/13 5:35 PM, Erik Hetzner wrote:
> At Sat, 16 Feb 2013 06:42:04 -0800,
> Karen Coyle wrote:
>>
>> gitHub may have excellent startup documentation, but that startup
>> documentation describes git in programming terms mainly using *nx
>> commands. If you have never had to use a version control system (e.g. if
>> you do not write code, especially in a shared environment), "clone"
>> "push" "pull" are very poorly described. The documentation is all in
>> terms of *nx commands. Honestly, anything where this is in the
>> documentation:
>>
>> On Windows systems, Git looks for the |.gitconfig| file in the |$HOME|
>> directory (|%USERPROFILE%| in Windows’ environment), which is
>> |C:\Documents and Settings\$USER| or |C:\Users\$USER| for most people,
>> depending on version (|$USER| is |%USERNAME%| in Windows’ environment).
>>
>> is not going to work for anyone who doesn't work in Windows at the
>> command line.
>>
>> No, git is NOT for non-coders.
>
> For what it’s worth, this programmer finds git’s interface pretty
> terrible. I prefer mercurial (hg), but I don’t know if it’s any better
> for people who aren’t familar with a command line.
>
>    http://mercurial.selenic.com/guide/
>
> (As a general rule, for every programmer who prefers tool A, and says
> that everybody should use it, there’s a programmer who disparages tool
> A, and advocates tool B. So take what we say with a grain of salt!)
>
> (And as a further aside, there’s plenty to dislike about github as
> well, from it’s person-centric view of projects (rather than
> team-centric) to its unfortunate centralizing of so much free/open
> source software on one platform.)
>
> best, Erik
>
>
>
> Sent from my free software system <http://fsf.org/>.
>