Ask HN: How do you get over the fear of sharing code?

75 points by sodokuwizard ↗ HN
I'm a junior. Truth be told, I don't really care if professionals/adults see my code or pick it apart/mock it/fork it or whatever. All my repos are private just because I worry about other students being lazy and just ripping my hard work and claiming it as their own. That really pisses me off when I hear some horror stories like that.

Is this unfounded? Or do I have a right for some concern? It's obviously easier for viewers to just see public code repos and browse without ever requesting access so I know I'm losing some traffic (from my portfolio site)

I was thinking the alternative would be just linking my demo on my portfolio site as a proof of concept that yes I made it, yes it works, and if you're curious , here's a link to the code u can request independently of github.

Thank you in advance.

67 comments

[ 3.2 ms ] story [ 61.4 ms ] thread
One of the things you learn as you get older is other people don't think about you (or at all) as much you think they do/will.

We are often our own worst critics - put your stuff out there, there is little to lose and some upside, if someone likes your demo and clicks through to see the code and can see it then that's a low friction path, by having to request access most people won't or will - but forget all about it etc.

(comment deleted)
Reminds of the thought experiment, "if a tree falls in a forest and no one is around to hear it, does it make a sound?"...

People you never heard of are open-sourcing projects you'll never find every day, there are hundreds of millions of repositories on GitHub and very few of them will ever be seen by humans who didn't write them, let alone humans looking to pretend they did.

Presumably someone looking at your portfolio will be reviewing CVs to hire? I think throwing up a barrier on them evaluating your code will hurt you much more than the rest of the world being able to see it.

I’ve had several people steal my open-source code for different projects before. I’m talking copying (not cloning) the whole thing, changing the credit to their name, making no other modifications, and then republishing on their account.

Fortunately they never gained much traction. The ones I know about I blocked on GitHub with a note. No idea if they ever found out or if they tried workarounds, but I figured there’s not a lot more I could do about it and it’s not worth the headache.

I continue to share openly.

Truth: no-one really cares about your code

We publish code so others can see it, the lazy and the productive.

Lazy people do not prosper, so don't waste your energy thinking about them.

Why do you want to publish yours, just as a portfolio? Then make a portfolio.

If it's not open source then don't make it public but if you want to lose your fear, just do it. It's not like it matters that much.
Wait until every line you write has to be code reviewed when you get a job.
> I worry about other students being lazy and just ripping my hard work and claiming it as their own. That really pisses me off when I hear some horror stories like that.

Make the code part of your professional marketing. It’s not code for code sake but to enable you to blog, speak, etc about something interesting. Then there’s little chance some theoretical thief is also communicating those ideas. And if you’re good at evangelizing yourself it SHOULD happen that someone steals your code. If anyone looks up the ideas, they’ll be inundated by content you created. The code is secondary.

People have already given you practical reasons why you're better off keeping it public. To answer your question as to how to get over your fear, you need to ask yourself what you're afraid of. You've mentioned you're worried about someone ripping off your hard work and claiming it as their own. If you can understand the root of why the idea of that pisses you off, you will probably find it's an artificial construct of ego. Understand the root and the fear will loosen it's grip.
(comment deleted)
You're severely overthinking. The Code isn't important. It's what you build with it that people care about.
I think the thieves you worry about are actually going steal your code through LLM laundering, without even knowing who it was stolen from.

If you're not going to do a startup with your code, you probably need to focus on a mix of learning and self-promotion. With the market prioritizing self-promotion. Which probably means just trying to make sure that code that reflects well on you, does so.

Which probably means making it it open source, even if AI training data companies will steal it and give it away.

> I worry about other students being lazy and just ripping my hard work and claiming it as their own.

Is the main concern that you have a class project you don't want other people taking credit for as their own? I wouldn't bother sharing standardized class projects that future classes may give again, and those projects don't mean much anyways. Your portfolio should ideally be projects that are something more uniquely created by you.

Also, what's specifically the issue with other students taking credit for your work as their own? In a school setting, it should be pretty clear who committed their code first. If it's for future employers, the most important thing is demonstrating full understanding of the project while being able to discuss it.

With LLM’s now, odds are, they’ll just copy pasta that code. Yours may be similar but if you slap a license on it, most people respect that and will adhere to it.

That said, fear of someone stealing your code is completely unfounded as there isn’t really anything novel we produce anymore. If you are on the bleeding edge, you welcome input and PR’s from others to make it better. Only wise men know they know nothing. Collectively, we can build some amazing software.

Now, if you’re trying to build a business off of your software, you may want to keep that to yourself and not share it. If your business isn’t the software but your service, there’s no harm.

People can fork my code all they want but to anyone actually paying attention it's obvious mine is the real one. If theirs is actually better and they actually put in more work then so be it.

But in reality the original is often the best updated and the forks will fall behind because they have to merge your changes and you don't have to do that.

As someone how has spent several years in therapy in part related to anxiety, the answer to "how do you get over the fear of X" is "do things that incrementally approach X".

https://en.wikipedia.org/wiki/Exposure_therapy

There's really no other successful approach I've seen for curing anxiety. You have to just steel yourself and do the thing you're afraid of. It gets easier every time.

same way you get over a fear of anything: exposure
You would be surprised how code you've published is in fact not read by anyone. You would equally surprised that many do read the README.
You should be happy that anybody at all bothers looking at your code.
I mean this in the best possible way but your code is not special. Plagiarizers are gonna plagiarize and if not from you then from the other 1000 open-source student-friendly portfolio projects. Career wise you should be building up your GitHub ASAP, anyone can make a fancy looking frontend or whatever you do but I can’t know if someone is good without looking at the code (and I would probably never care enough to go out of my way to request it).
If someone else steals your work, you should be proud. They found it to be valuable. If they managed to sell it or build something with it, they’ve demonstrated that you can do the same. Use it as a learning experience.

Keep in mind that you are in control of what people are allowed to do with your software. By default, your code is unlicensed even if it is public, which means no one else can distribute it or change it or do much of anything with it. Thus, if someone uses it and claims it to be theirs, you can sue them if you want to.

However, instead of leaving your code unlicensed, I would recommend choosing an open source license and applying it to your code when you make it public. There are many to choose from!

By applying a license to your code, you are establishing a clear framework for what other people are and aren’t allowed to do with it. And it’s legally enforceable. In fact, there are organizations that may step in to help you if someone violates your license or challenges it in court. For example, my preferred license is the Mozilla Public License. If someone tried to challenge me on any part of that license, Mozilla would have a vested interest in defending it, since it’s their license and they use it, too. Their lawyer is even available to chat with over email. I once reached out to ask if I could make a small tweak to the license without causing headaches. They got back to me within a few days and said it would be fine. That gave me a lot of confidence to continue using it.

Some licenses are very permissive, such as MIT. Others are much more restrictive, such as GPL. The MPL, which I use, is somewhere in between.

What’s right for you really just depends on what you consider to be fair. And every project can be different. Maybe you build some small tools that you release under MIT, essentially donating them to all of humanity. Meanwhile, you create a startup and build a product where you keep some of it private and release parts of it publicly, licensed under the GPL, because you don’t want huge corporations stealing the work for your day job without reciprocating. That’s a relatively common approach.

Whatever you decide, just make some of your code public. The feedback and experience will be well worth it. Good luck!

Haha I've had instructors noting with a smile that my code was "good enough for others to copy". In the end I learned a bunch, also about people. More than if I hadn't shared.