Hacker News new | past | comments | ask | show | jobs | submit login

     Git isn't what attracts most people to GitHub
I disagree (partly).

GitHub is indeed a sort of social-network for developers working on open-source projects, and this makes it really attractive. Their interface is also totally kick-ass and I love them.

But for my private projects GitHub is totally useless and also expensive, which is why I have been hosting my own Git repo on an instance that I own - it's pretty easy to setup too.

I am very excited that Bitbucket is offering Git as an option, as Mercurial for me is not really compelling; not that Git is necessarily better but it's what I know and have absolutely no reason to learn yet-another-tool-that-does-the-same-thing.




Opposite for me. I never really knew whether to choose Mercurial, Bzr or Git and ended up using Git for everything because of Github.


> But for my private projects GitHub is totally useless and also expensive, which is why I have been hosting my own Git repo on an instance that I own - it's pretty easy to setup too.

Ditto. There's a number of projects that I just won't put online because I'd rather lose than share them. With Bitbucket it looks like I'll be able to stash them privately, for free.

I'm totally psyched that Bitbucket has given this good a plan as their base/free package.


> There's a number of projects that I just won't put online because I'd rather lose than share them.

Assuming that those projects don't generate much revenue for you [1], what's the point of keeping them private?

From a political point of view, I always see such projects as a good opportunity to promote Free Software. From an economic point of view, I like to put some pressure on my competitors that way. For really valuable stuff, I'm using strict licenses like GPLv3 or AGPLv3 which ensure that sharing won't result in any disadvantage for me.

So I really wonder (as a seriously meant question!) what kind of projects you are talking about. What kind of non/small-revenue project would anyone rather lose than share?

[1] Otherwise I'd wonder why you couldn't afford paying GitHub, and also couldn't afford to switch to Mercurial for hosting them on BitBucket for free.


I work on self-developed projects as a consultant that I don't have the rights to open source. Because of that, I need to use Github's paid account plan, even though I'm the only person who contributes code to that project. So, I'll be seriously considering bitbucket as an alternative host, because it could save me ~£85/year.


Not poster but in a similar position myself.

What about incomplete projects? Messy/hacky experiments? Completely idiotic/backwards stuff done for fun? Play-projects purely attempted for "ha I did it!"? Legally-grey (or blatantly illegal) projects? Or even school projects? I have hundreds of projects that fit in those categories, and none will ever be made publicly available. Sometimes it's just not good form to make a project public, other times it's clearly harmful to do so.

Nevertheless, I preserve my projects privately just in case I ever resume work on a whim, or want to reference what I did in the past (or more likely, what I did wrong). And now I can put them online privately for free, sharing with those I deem appropriate.


> incomplete projects?

It depends on what you mean by "incomplete". 50 lines of code which do almost nothing useful are probably not worth publishing. But why not publishing a half-complete project? Publishing may help you find contributors. And the early feedback helps you to decide if your project is worth more intense attention.

> Messy/hacky experiments?

If the code is not too bad, I publish even that stuff (as long as it is big enough to be notable), e.g.

http://pypi.python.org/pypi/vserver

> Completely idiotic/backwards stuff done for fun?

I recently published such a project and got surprisingly great feedback:

http://news.ycombinator.com/item?id=3061050

> Play-projects purely attempted for "ha I did it!"?

Why not? You never know who'll like it anyway, e.g.

http://sourceforge.net/projects/hosh/

> Legally-grey (or blatantly illegal) projects?

Depending on how much trouble this might cause, you probably shouldn't upload it anywhere. Even a "private" repository on GitHub/BitBucket might be too risky.

On the other hand, I know about a Free Software clone of a game that used the original graphics and music. Not quite legal, but the game was very old and the right holders obviously didn't care. However, after publishing the project got a little fan base that eventually included graphic designers and musicians, who replaced the proprietary stuff step by step with their own creations. So the game changed from "legally-grey" to "solid free". This would never have been possible if the game hadn't been published.

> Or even school projects?

My school projects were about the first ones I published, and I'm pretty proud about what I wrote in that age, e.g.

http://davis.sf.net/

http://sourceforge.net/projects/voji/

http://sourceforge.net/projects/volt/

Later I also published some notable university project works (sorry, German language):

http://www.profv.de/uni/

However, these are only project works. I will never publish specific solutions to homework excercises, as this would only help cheaters and nobody else.


  > Depending on how much trouble this might cause, you probably shouldn't
  > upload it anywhere. Even a "private" repository on GitHub/BitBucket might
  > be too risky.
I don't think that he was talking about using BitBucket to host your malware repo. Probably more along the lines of projects that aid in the downloading of possibly copyrighted music/videos (for example). It's a legal grey area because you really don't know if your are on the wrong side of a law until a court makes a decision since there is no clear-cut way to know.

Some other examples:

1. You want to keep track of your dotfiles that you use at work. In general, this may be ok to put public, but it may contain work-specific stuff (hostnames, configurations, etc) that might get you in trouble for publishing publicly. For example, my work shell config has aliases that include connection information (sans password) to internal databases.

2. Resumes and/or cover letters. If you update your resume to say that you're looking for work, or looking for work in another area, this could give info to your current employer that you don't want to hand out. You might also want to keep your cover letters in version control if you use something like LaTeX or have specfic parts that you want to be boilerplate (e.g. description of yourself and/or your exerience). If you keep this in public, then everyone knows when/where you are applying for work, which may not be desirable even if your employer doesn't care.


On the other hand, I know about a Free Software clone of a game that used the original graphics and music. Not quite legal, but the game was very old and the right holders obviously didn't care. However, after publishing the project got a little fan base that eventually included graphic designers and musicians, who replaced the proprietary stuff step by step with their own creations. So the game changed from "legally-grey" to "solid free". This would never have been possible if the game hadn't been published.

I voted you up specifically for this bit. This is great.

What game was cloned, and what is the name of the clone?


Sounds an awful lot like he's talking about OpenTTD, a "clone" of Transport Tycoon Deluxe that has some "interesting" history even aside from the media assets.


> However, these are only project works. I will never publish specific solutions to homework excercises, as this would only help cheaters and nobody else. Which is why (lite) private repoes would be nice. I wouldn't want to hand out all the answers to my school assignments but I'd still like to keep them tracked with git (depending on the size). At the moment I've just put my coding folder inside Dropbox which in a way acts like version control (in the sense that I won't lose the code.


what's the Free Software clone of a game?


This term means that a proprietary game has been rewritten completely from scratch as a Free Software project.

Usually, the game principle stays the same, but has its own codebase, and different graphics and music. Sometimes names are changed, too, if the original names were trademarked. After some time, the Free Software clones usually surpass the original game in almost every aspect.

This is a great way for a fan community to push forward their favorite game long after the producers lost their (commercial) interest in it.

This is also some kind of sustainability, as it ensures the game won't die with the hardware it was produced for.


I can afford to upgrade my Github account, but I'm a bit cheap when it comes to doing so.

I do a lot of experimentation and I'm of the opinion that not everything I do is worthy of sharing. I've partially written a web interface for pianobar, a feed to rss translator for reformatting NOAA forecasts (they discontinued the REST service), some wiki-like software, and even some barebones PBX interfaces for an Asterisk replacement.

The work that I have put on Github hasn't seen a ton of interest—not that they're terribly complete. But I did write a simple-but-useful-enough asynchronous "cron"[1] system for Go (BSD licensed). I got only 1 comment questioning how I implemented it with a qualified "good job" (if that).

I'm no Ryan Bates or Linus Torvalds. Several times I've interacted with OSS projects, run into trouble, and asked relevant questions. But because I'm not a linux/unix guru I get flamed (I just bought a Mac 16 months ago, gimme a break).

Why expose myself? I'm not trying to flame you, but I did want to express my long-standing disappointment with the "friendliness" of a number of communities (HN included).

[1]: https://github.com/rk/cron.go


> I'm of the opinion that not everything I do is worthy of sharing

The same is true for me. But who defines what is "worthy of sharing"? I believe this question is to be answered by others, not by oneself. It's generally hard to say whether something will be interesting or uninteresting to others, i.e. worthy or unworthy of sharing.

I've seen some surprises in the past after publishing pet projects which I thought weren't worth much, and weren't really complete. Nevertheless, some of them did get interest, and with the help of others they did become good and almost complete.

Of course there are also other projects which I published, which nobody else was interested in, where I finally lost interest and which are hopelessly outdated crap by now.

However, I couldn't have told you in advance which of my projects will or will not share this fate.

Having that said, I fully agree that one shouldn't publish every crap. But I have quite good experiences with: When in doubt, publish!


  > I'd rather lose than share them
You don't have a backup system?


I have a backup system. It's just that I'd rather lose them than share them—exactly how I said it.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: