News for hackers. Stuff that matters.
Re:Open-source, not open-contribution by UncleMeat on Thursday January 28, 2021 @09:34AM (#25942281)
Not OP, but here are the (non-license-based) problems I see with open contribution.

1. It limits tight design. PRs are often going to be for things that the user wants but that aren't on your design plan. Accepting these PRs causes design creep and leads to code complexity, even if each individual PR is written well.

2. It takes time to review PRs. People submit all sorts of code of various quality. Doing several rounds of reviews to get a PR up to snuff (or decide to reject it) takes time out of your day. If your team is small, this is a major cost.

3. It can set the wrong expectations. People get mad when their PR is rejected. Often really mad. Closing 50% of PRs, even for totally valid reasons, ends up with a nontrivial number of people sending you really terrible emails calling you nasty things.

Re:Open-source, not open-contribution by cashewchoo on Thursday January 28, 2021 @10:48AM (#25943697)
I also want to point out that there's an emotional aspect to this.

Lots of open source is done as a passion project, and passion is a notoriously fickle beast. Things that inspire people to work on passion projects - a sense of ownership, velocity (no need for meetings and jira et al when it's just you. 100% efficient communication!), "shipping"/accomplishment, pride and respect - are all going to be really vulnerable to having to share headspace and ownership with someone else.

I'm personally feeling this. I have a project I'm working on for my homelab that I think other homelabbers, and maybe even some SMBs, will be interested. And I want to give back to the community / have no qualms about someone "stealing" my code. I have an AGPLv3 sticker on my laptop. But the main thing giving me pause is - "but what if people are like 'neat, now please do this feature next!'". Then I'm thinking about it and worrying about disappointing users. And plus, we know that "please do this feature next" is absolutely the *nicest* way that that request will ever be phrased on the internet.

I honestly would feel better if github had a way to let me say:

1. Here's the code, but please don't fork it (but leave the fork button functional. I don't want to actually stop anyone. I just want them to know what I won't be super thrilled.)

2. Please only open issues or PRs for small fixes. An extra if-statement, etc. Please don't add features or redesign anything or "fix my code" at a cosmetic or architecture level.

I know this sounds kinda whiny and entitled and anti-free-software, but I do think it's real and respectful from a human perspective. Locke said that anything you put effort into, you feel ownership of. And by that logic, if someone puts effort into something you currently own "100%" of, they're going to feel some sort of ownership too and you'll feel some part of loss of ownership.

Re:Open-source, not open-contribution by dspillett on Thursday January 28, 2021 @01:15PM (#25946207)
> Please only open issues or PRs for small fixes. An extra if-statement, etc. Please don't add features or redesign anything or "fix my code" at a cosmetic or architecture level.

Another way of putting it might be to encourage them to describe the problem or other desired change rather than send code, and let you deal with it as you see fit.

For instance: instead of raising a PR to fix an open injection vector, raise an issue that says "when responding to X your code doesn't properly sanitise input Y meaning Z can happen".

> I know this sounds kinda whiny and entitled and anti-free-software

Not at all IMO. The word "free" covers many overlapping concepts, and your way of thinking about the freeness of your personal project is no less right than many others. You aren't stopping anyone doing what they want, you are just choosing to be selective about how you interact (which you are, or should be, free to do). Giving other people freedom to do things with your code does not mean you have to give up the freedom to do (or not do) what you want with it.

A long as you are up front and polite about it, there shouldn't be a problem. If anyone did have a problem with it, it is their problem not yours!

If I ever pull my finger out and make progress on my many possible personal projects to the point where there is something worth sharing, for the most part I'll probably take a very similar stance.

Re:Open-source, not open-contribution by orangecat on Thursday January 28, 2021 @02:03PM (#25947180)
#2 is perfectly reasonable, but I don't understand #1 at all. You don't want to accept other people's changes, which is fine, but then you're also asserting a moral right to prevent them from making those changes on their own? It seems like open source is fundamentally not what you want.
Re:Open-source, not open-contribution by cashewchoo on Thursday January 28, 2021 @03:56PM (#25949071)
I'm not though, they can still click it and have the right to. I won't deny them that freedom.

I just also want to express that I won't be thrilled about someone forking the project and trying to go their own direction with it or something. It'd be demotivating if someone thinks they can do your project better than you can, right?

Re:Open-source, not open-contribution by dspillett on Friday January 29, 2021 @08:17AM (#25956921)
> It'd be demotivating if someone thinks they can do your project better than you can, right?

If it is a labour of love, then maybe.

If you had plans to monetise then I expect it would be rather annoying too.

But if the project is at least partly "scratching an itch", to make something you want because it doesn't already exist in quite the form you want/need, then someone coming along and doing it better is great. Your itch is scratched and someone else is dealing with maintenance, so you can get on with your next plaything! And if you are counting life karma points, you can claim at least a few for having inspired the other person's/group's work.

Re:Open-source, not open-contribution by cyberfart on Thursday January 28, 2021 @06:55PM (#25951293)
> It'd be demotivating if someone thinks they can do your project better than you can, right?

This would be valid thinking though should the project go inactive.

Re:Open-source, not open-contribution by infinite8s on Saturday January 30, 2021 @06:14PM (#25973999)
Then why would you put the code in a public repo with an open source license?
Re:Open-source, not open-contribution by passthejoe on Friday January 29, 2021 @02:04PM (#25960985)
I get what you are saying in 2), but anybody who wants to fork the code, let them have at it.
Re:Open-source, not open-contribution by anticristi on Thursday January 28, 2021 @02:57PM (#25948112)
Don't want to contradict you, but here is how I feel as a drive-by PR-er:

1. Some projects have a list of goal and non-goals. Rejecting a PR because I didn't read the non-goals is perfectly fine and should be encouraged.

2. I agree. But can't this be solved by putting the "burden of PR" on the PR-er? A long checklist of "I have read this" and "I have tested this" should raise the PR bar high enough to make the code review cost worth it.

3. I understand that bad people are a problem on the Internet, but this feels orthogonal to the "no PR policy". Won't those people "do shit" anyway?

Re:Open-source, not open-contribution by gwillen on Thursday January 28, 2021 @06:27PM (#25951007)
> can't this be solved by putting the "burden of PR" on the PR-er? A long checklist of "I have read this" and "I have tested this" should raise the PR bar high enough to make the code review cost worth it.

People definitely do not read those. The less useful their PR is, the less likely they are to have read any of the stuff in the template.

Re:Open-source, not open-contribution by cutemonster on Friday January 29, 2021 @12:19AM (#25954292)
And, also, it doesn't matter that much if the submitter has done all manual test steps (if any) -- the maintainer mostly needs to verify everything him/herself anyway
Re:Open-source, not open-contribution by __henil on Thursday January 28, 2021 @10:01AM (#25942764)
Those make a lot of sense. Thank you!