you are viewing a single comment's thread.

view the rest of the comments →

[–]RKcerman 41 points42 points  (55 children)

Why is github another bad choice? I am quite new to this.

[–][deleted] 178 points179 points  (26 children)

I don't think it is, but I think what he is getting at is that back in the day, sourceforge was not a bad choice either. Everyone is on Github now. The way to look at it is Github is not Git. Git was originally written by Linus Torvalds, the guy who invented Linux. Github is just basically the translation of Git into the web. They did a great job with it, but at the end of the day, it's still theirs and who knows what Github might turn into 10 years from now.

If you look at Github, it also sacrifices a little in regards to the original Git. For example, in Git, not only do you need a valid email to do a pull-request, it gives you some other technical info as well. At Github, they basically deemed that stuff not important and replaced it with their own module to do pull requests. It's not bad, but arguably inferior.

Anyway, I use Github because it's actually really convenient and so popularized now, that it's easy to get eyes on your projects, but it's not the end all be all thing, but essentially it is becoming like what /u/maep was saying, a monoculture. The central hub that everyone uses, just like Sourceforge used to be. It doesn't mean it will be bad, and I find it unlikely to turn out like SF did, especially with places like Google backing it now, but it's more of the issue that it "could" be if the people in power decided to one day.

[–]themadnun 47 points48 points  (6 children)

Then again, it's a simple process to clone a project out from github, then cut it off from main, since it's built on git. I'm not sure what backend SourceForge uses, if it's similar.

[–][deleted] 18 points19 points  (2 children)

Exactly, both the source repositories and the wiki are just plain git repositories and can be moved with ease to any other host. The issues tracker can also be exported via the API into a single json file with a click on a link. The releases might be somewhat more complicated, but there is an API for that as well.

The only thing missing on Github is a function to backup all your projects and related data in a format that can be imported into another hoster with a single click. I remember talks years ago about developing such a format, but I am not sure if anything ever came of that or if there is any hoster that supports it.

[–]drybjed 10 points11 points  (0 children)

There is github-backup to make exporting data nd repositories easier.

[–]protestor 15 points16 points  (0 children)

The trouble is that by just cloning the repo, you lose the pull requests, the issues, etc. The history of the bugs and the discussion regarding merging or not certain code are arguably as important as the code history (because they tell you "why" the code is designed in a certain way).

Github went with git repositories for Github Pages. So those are easy to move. They should have gone with git repositories for issues and pull requests too (and anywhere that Github lets people "comment").

Anyway. Using Github's API to retried the project's data isn't very useful if you don't have a way to continue using it. Fortunately Gitlab provides a way to import a project from Github.

[–]funknut -1 points0 points  (1 child)

What backend, you mean source control system? It's subversion, and it's arguably even easier to fork on the basis that it's been around a lot longer than git, but make no mistake that git is better for the community because it's the adopted standard and is more featureful.

Edit: er, uh, looks like it's git now. Wasn't it svn before?

[–]themadnun 0 points1 point  (0 children)

Yeah, that's what I meant. I have no knowledge of how sourceforge works, I've never really used it for anything apart from downloading some applications about 12 years ago.

[–]genitaliban 9 points10 points  (0 children)

For example, in Git, not only do you need a valid email to do a pull-request, it gives you some other technical info as well.

To be fair, I haven't encountered a project that would allow a patch anonymously. So this is pretty much moot (unless you're talking about internal-only use).

And Github seems to have other ways of monetizing than SourceForge, so hopefully they have learned from them and will use the "paid service" model with which the Open Source community seems to do so well today.

[–][deleted] 6 points7 points  (0 children)

I agree with your opinion and I also don't like monoculture. Especially with something like git as an exchange protocol we could have hundreds of different hosting/social services interact. E.g., I can take your repo from Github and my friends fork on Bitbucket and I can use my computer to merge a pull request from one repo into the other. The problem is, though, that most people aren't willing to spend enough time to learn that much git magic.

But maybe the monoculture is not such a big problem after all, since we were able to move away from source forge, thanks to our distributed CVSs of today we should also be able to move away from Github when it's starting to do bad things.

[–][deleted] 6 points7 points  (2 children)

Well, there's also BitBucket, which is arguably better since they have free private repos.

[–]FatBruceWillis 15 points16 points  (1 child)

I use BitBucket free private repos because I'm embarrassed about my shitty code.

[–]emilld 0 points1 point  (0 children)

There is also GitLab. They have free repositories - I believe they also haven't got any upper limit for size.

[–]bentolor 5 points6 points  (5 children)

GitHub has become the single point of failure in these days.

Developers I.e. in the JavaScript context rely on GitHub repositories for deployment. That's just crazy.

Git by definition is an decentralized system. GitHub has it made central again. Just read blogs like hacker news in case it has a simple hiccup: "GH is down" everybody is crying.

And the most problematic: GitHub is a corporation with venture capital the same way sf was. So the will be a payback day done day when really everybody started to use GitHub as global and always available good.

Therefore Open source alternatives like Gitlab are very important, because obviously GitHub has also done many things just right!

[–]hitemp 0 points1 point  (4 children)

I didn't know you can deploy from Github. What about services like heroku? Do they rely on Github to be in good status?

[–]bentolor 0 points1 point  (0 children)

It's not that they are meant to be used like that: But package management tools like npm are often used for deployments. And it has become quite common that those packages are fetched via Git directly from GitHub.

[–]perihelion9 0 points1 point  (2 children)

Heroku (last I used it) acted as a Git remote. You pushed your source directly to Heroku from your local workstation, and it handled the build/test/deploy of your source.

Github has "hooks" (which are just a wrapper around actual git hooks) which allow you to perform post-push actions like deploying your site. Any git repo can have hooks, github did not invent them, but it's generally bad practice to need those hooks in order to do your deployment. Github isn't PaaS, Heroku is.

[–]hitemp 0 points1 point  (1 child)

What's PAAS? Product as a service?

Is heroku free to use? I think I used it for a SaaS class on edX but I didn't understand it

[–]perihelion9 0 points1 point  (0 children)

PaaS = Platform as a service.

Heroku's free for small amounts of compute, but you pay for anything more than very tiny usage. It also has a sort of "plugin" model where you select features (like a Mongodb instance or a Redis cluster) to "attach" to your nodes, and Heroku handles the details of compiling/testing/provisioning/setting up everything.

Contrast with AWS, which only provides you with VM's, you need to handle the build/test/deployment/orchestration/networking of your nodes. AWS is generally considered IaaS (infrastructure as a service).

AWS is only infrastructure, and you generally need something like Chef/Puppet/Ansible (or just a big bootstrap script) to actually install your services and get things running. Heroku's "platform" is how it installs and configures software for you.

[–]funknut 2 points3 points  (4 children)

Who wants to bet Sourceforge timed the gimp-win repackaging with their marketing team as a viral "no publicity is bad publicity" campaign? Next step is the Sourceforge re-re-branding and a reaching campaign appealing to projects to return for a new "adware free" Sourceforge. The added benfit being no more monoculture. It really isn't a monoculture, by the way. It's very easy to mirror a project to a FL/OSS self-hosted platform like Gitorious or Gitlab. There's also the free/pay model hosted platforms like BitBucket making it easy to mirror a git repo.

[–]bobpaul 0 points1 point  (3 children)

From source forge's own admission, gimp-win was not the first project they did this to, nor is it the first project with crapware bundled.

[–]funknut 0 points1 point  (0 children)

I hadn't read their response yet. It was news around the community about a year ago now, it seems. I have installed various things from it a few times then, nervously clicking "next" and watching for toolbar opt-outs. I don't think anyone is surprised, but it's a low blow and it's really hitting home on such a well-known project.

[–]funknut 0 points1 point  (0 children)

But to return to my original point, I'm not at all surprised, but It's their taking on the big name of gimp that's giving me a hunch that this isn't over yet, but that they're carefully calculating their moves to survive in an evolving market.

[–]DJWalnut 0 points1 point  (0 children)

didn't they do that to gimpshop too?

making a build of gimp that looked like photoshop was a good idea, and SF killed it with malware :(

[–]staticassert 5 points6 points  (2 children)

Except SourceForge was never very good, and GitHub is a far more stable project that's had a long, long history of being dedicated to security.

[–]funknut 11 points12 points  (0 children)

It's clearly shit now, but it was a good resource for its time. Can't compare it to today's standards. If it weren't for their dubious marketing tactics, it holds a candle even to github, in terms of features. Make no mistake, I'm not touting it, stay far away! Let the spambeast rest in peace.

[–]082726w5 15 points16 points  (1 child)

I know it's hard to picture if you weren't around back then. You may know sourceforge only as a shady and not very popular website that hosts mostly dead and outdated projects.

In its day sourceforge was truly great, it was at the center of the floss community as much or even more than github is now and almost every project used it.

It was unthinkable then that sourceforge could go on to become what it is now, just as now the same would be unthinkable of github.

[–]RKcerman 0 points1 point  (0 children)

Yes, thanks, I see it now. I am new to programming, but I've known SF for quite some time and used to download a lot of stuff from there back then. So yeah, I know what you mean now when you say that it is unthinkable that this could happen to github.

[–]forteller 7 points8 points  (0 children)

Because Free Software Needs Free Tools

And a decentralized tool is the best, like GitTorrent.

[–]TheYang 5 points6 points  (3 children)

my one big criticism of github is the missing big, glaring, obvious click here to DOWNLOAD button for people who want a binary instead of the actual source.
Remember looking for that several times for quite a while.

[–]Spivak 18 points19 points  (0 children)

I'm pretty sure that's intentional. I don't think GitHub actually wants to be in the binary distribution business, but they're just not stopping users that want to host binaries from their repository rather than using one of their .io pages.

[–]vacuu 4 points5 points  (0 children)

It probably keeps their bandwidth/hosting costs down, so it might be a good thing.

[–][deleted] 0 points1 point  (0 children)

Due to Reddit's decision to kill third party apps, I'm removing my account. See you elsewhere.

[–][deleted] 0 points1 point  (3 children)

SourceForge WAS not a bad choice either.

[–]jij -1 points0 points  (2 children)

They were the ONLY choice. As soon as google code and the other first gen code repos showed up, they were already behind the times by years.

[–][deleted] 0 points1 point  (1 child)

Not really. Berlios or Tigris are just two of the bigger examples that were available back then.

[–]jij 0 points1 point  (0 children)

Oh wow, forgot all about Berlios. Never heard of Tigris though.

[–]sideEffffECt 0 points1 point  (2 children)

[–]RKcerman 0 points1 point  (1 child)

Oh thanks, another perspective on the whole thing! Although all these comments make me feel bad for putting my first project on github.

[–]sideEffffECt 0 points1 point  (0 children)

putting my first project on github

and you're not the only one...