GitHub question

Question: Why would I NOT want my repository to be private?

I mean, if I make a private repository, I would assume I could give access to people with whom I’m working, right? So why wouldn’t I want to keep people from snooping around in my files just because they are bored?

I thought about making my repository private today, but I got this warning that made it seem like it would be the end of the world…so I wanted to come here and ask people with more experience.

What are the downsides to making a repository private? Or, if I don’t want random people snooping, why would I want a public repository?

No right or wrong responses, I would just like to read about peoples’ experiences.

Thank you all in advance!

Hi Jay,

When reading warnings such as this, bear in mind that there is no such thing as “free”. In the end, everybody wants your money. GitHub earns money with paid repositories (and other things). Of course, they’ll make it look as if you definitely do need one of their “special” private repos. However, as a single developer, you usually don’t. The additional features are mainly interesting for companies.

The only relevant part for you is the one about the stars, watchers and pages. If you created an open-source program, everybody but you will lose access to the project, and the project will not be bookmarked anymore on GitHub.

Did this help?


See also:

1 Like

Hi Nina,

Thank you for taking the time to respond. It does help a little, but I think my train of thought is going on a slightly different path.

I understand what you mean about the paid services and such…revenue, etc…that all makes sense. I’ve thought of paying the extra to keep people out of my stuff…that’s never been a real concern…

…but I think privacy is my main concern. Like, what would keep anyone from surfing GitHub and stealing ideas from people?

I really only work on my games by myself. I don’t have much experience nor any collaborators at this point.

I know my stuff isn’t really important or revolutionary, but I do worry about people stealing ideas and such.

I would imagine AAA game companies would want to keep their stuff from being leaked, but do we really care about these things at the indie developer level? I dunno? Do we worry that someone is going to steal our super cool game ideas or our character concepts and the like? Am I aggrandizing a little bit? Maybe so.

It seems like the public repository is what everyone’s doing, and I can probably stop worrying about it.

Thank you again for your responses! I appreciate you taking the time!

Sincerely,

Jago

P.S. In the end, yes, it did help a lot! I had to think a few things through. Thank you.

You also mentioned stars, watchers, and pages. I should go read up more about those.

Nothing. And even if your repo is private, it could still get hacked. Just like your computer. Somebody could even break into your home and steal your work. The only way to ensure that nobody will ever steal your stuff is to never create anything.

On the other hand, if your project is public and somewhat “famous” and somebody steals it, people who know your work will very likely help you protect your work. Many artists just know about their art being stolen because other people tell them about it.

One example: The Unity Engine was decompiled and uploaded on the internet, so was the source code of Stardew Valley. You can find both on GitHub. The people who did that certainly did not have a permission. Do you think that somebody could just download the code, replace a few names and sell the stuff as their own? Definitely not. They would immediately get sued.

Ben, Rick and the other GameDev.tv instructors published the source code for their courses online. Everybody can see and use it, even people who are not students of our courses. Why not making it public and free to use if it would get stolen anyway? Nobody is ever going to make money with it because thousands of people already created free games with that code.

One more thing to consider: The more complex your game is, the less likely it is that people will be able to steal parts of it. Most people who steal are not able to develop code themselves, and stealing code snippets without understanding them often does not work for them. If skilled people look at your code and are able to use it, they could have written it themselves in most cases. In the end, it is relatively unlikely that you’ll come up with a completely unique solution. If you did, you would patent it first before you publish it.

While it is completely understandable that you are afraid that your work could get stolen, there is no universal answer. Look for a solution or compromise you can live with but don’t expect that your project will ever be 100 % safe. It won’t. People have stolen other people’s work for thousands of years.

By the way, you do not need GitHub at all if you don’t feel comfortable with using their service. Your remote repo could be on another computer in your flat, or on another harddrive. Or you could simply maintain a local git repo without a remote repo.

1 Like

Hi Nina,

Thank you for going deeper into the explanation. It all makes more sense. I think I was making something out of nothing.

I do want a remote repository…I’ve lost so much work over over the past month with an OS reload and two external HDD failures. I was taking bits of the Git course but had not gotten to the remote repository part yet.

I pretty much lost all of my work in my 2D, 3D, RPG, GIMP, Android, and C# classes and materials…oh,not to mention ALL of my Ardour files, BGM and scratch tracks, video editing files, etc…

…years of work gone.

I’ve got a few unfinished songs on a flash drive but that’s all that’s left. Nothing useful.

I’ve figured out my mistakes with my HDD/Linux format compatibility issues…and now I have three (3) properly formatted 1TB, 2TB, and 4TB HDDs. Overkill! Ugh! But I have more reliable backups now.

February was not a good month, but I learned a lot.

Your comments about ‘people who can read your code can write it themselves’ is pretty to the point and makes me feel a lot better.

Thank you again!

Git is not a backup system. It is very easy to destroy your entire work with one command. Make a backup of your project folder by duplicating it. Save the duplicated folder somewhere else, maybe on an USB stick. To save some free space, you could delete the Library and Temp folders in the backup folder.

I know that feeling. For years, I used to store my things on magnetic cartridges (yes, that had been a thing once) and on floppy disks. My first “novels” and dozens of musical compositions are gone as well as many drawings, my first and only animations with Autodesk Animator for MS DOS, and I think a few of my first more serious attempts to write code. Since then (and since they were invented and available), I have multiple external harddrives and USB sticks to save my stuff and don’t expect things to last forever anymore. I usually have multiple backups of things that I still “need”. I don’t consider three harddrives an overkill. Better safe than sorry.

1 Like

Thank you, again, for your input. I really was thinking that Git was more of a backup system, and I know I still have a lot to learn. Also, thank you for the input from your experiences and also your encouraging words. I don’t feel like a total dip$#17 now. :grinning:

So much to learn…but I feel like I made it over some important hurdles this month (I have experienced the 5~7 stages of grief - depending on to who’s theory you subscribe) and I’m ready to move forward again. Thanks again!

Many people do, and I know professional programmers who use git like a backup system (and sometimes even call git a backup system). It’s not a good idea, though, because the idea of a backup system is to store data somewhere and to not touch the data ever again except for restoring. While you can restore your data from a remote repository, you also actively work with that repo, for example, by pushing files to the repo and by mutating the git history. Some people might regard this as nitpicking but if you ever accidentally destroyed your git history, you’ll know the difference.

As for me, I have learnt most things by making mistakes, just like all skilled people I know. Regard the hurdles as opportunities to learn something you cannot read up on anywhere. If you lost data, that’s a pity but you still have your skills. Theoretically, you could recreate (almost) everything you lost, especially your own projects. The results might be even better than what you had before. With this in mind, it’s easier to stay motivated when you lose things or struggle. At least for me.

1 Like

OMG I need to vent for a minute because I ALMOST royally blew it AGAIN!

TLDR: Good ending.

I’ve been blasting through Text 101 for, like, the 3rd time now…working on my new thing called “Work: The Game” or WTG for now…doing several lessons a day, taking more notes, writing stuff in a book, etc…

I’m trying to get the state machine ready to show to a friend in hopes that he might help me write the story while I add other things like buttons and point systems, etc…I have the basic Stages and loops, boilerplate endings and hubs, etc…the general framework. I need to build the branching states, but the spine is there.

I just finished the last lesson before bed and I looked at my list of stuff to do and read ‘Weekly HD Backups’ and thought to myself, “I’ll do that soon…”

Went to bed, couldn’t sleep. Figured I’d wake up and work on my game. Turn on my computer. Unity is taking FOREVER to load. Couldn’t get Unity to close the loading screen. Hard reset. Cannot locate Seagate 1TB…You see where this is going.

DDRescue GUI cannot find it.

CheckFileSystem says it’s corrupted.

RepairFileSystem ran and failed, but the HD mounted after RepairFileSystem was finished.

Promptly copied everything to the Toshiba 2TB && WD 4TB.

Narrowly avoided an aneurysm.

Jeez, I’ve even been waiting until the computer is fully powered down and unplugging the HDDs when I don’t need them instead of leaving them plugged in all the time.

There is no such thing as too careful!

Okay, I’m gonna go breathe through my nose now.

Thank you for being there. I just needed to write and get it out.

1 Like