Live data from Hacker News

Open Source and Saying “No”

connortumbleson.com

11–20 of 143 posts

Re: Open Source and Saying “No”

#11
post #3

Doing exactly the opposite is also a right approach: Absorb as many features as possible, so that more people will be gravitated into a centralized place. For bugs, if the original feature submitter isn't around, potential new maintainers will emerge and fix them.

Interop is better. Keep things focused and simple, and focus on interop between tools.

Re: Open Source and Saying “No”

#13
post #3

Doing exactly the opposite is also a right approach: Absorb as many features as possible, so that more people will be gravitated into a centralized place. For bugs, if the original feature submitter isn't around, potential new maintainers will emerge and fix them.

For all the negative responses you get, there are a bunch of open source projects that work kinda like this.

Lazarus, and to a lesser extent Free Pascal, are basically like that. New features are added often and bug fixes to code written by others who aren't around (or don't have time) are submitted all the time (e.g. personally i'm more of a user than a developer of the project but i always use the git version built from source so that i can quickly fix any bugs that annoy me). The codebase is also far from small and the project is an IDE that tries to do "everything", so far from "doing one thing".

Lazarus has been around for at least a couple of decades, so i think that shows projects do not necessarily die when doing that.

It might have to do with not having some big company push their weight around so it is largely community developed and driven. Also it is by far the most popular IDE for the language it is written on, so perhaps it is easier to find contributors.

Re: Open Source and Saying “No”

#14
post #3

Doing exactly the opposite is also a right approach: Absorb as many features as possible, so that more people will be gravitated into a centralized place. For bugs, if the original feature submitter isn't around, potential new maintainers will emerge and fix them.

The other factor to consider is how features complicate unrelated maintenance and new development. If you accept new features which are affect other parts of the codebase, you might find that the things you are finding volunteers to work are made harder due to something most people don’t use and thus aren’t jumping to spend time supporting.

Years back I worked on a search engine abstraction library for Django. I’m not sure the concept is affordable at all - search engines are less alike than SQL databases — but one thing we constantly had problems with was that most volunteers only needed one backend but any new abstraction would need to be implemented for at least 3.

Re: Open Source and Saying “No”

#15
post #3

Doing exactly the opposite is also a right approach: Absorb as many features as possible, so that more people will be gravitated into a centralized place. For bugs, if the original feature submitter isn't around, potential new maintainers will emerge and fix them.

What you're describing is (imo) more a framework than a library, then; think Angular, which comes with loads of modules attached or standardized.

Re: Open Source and Saying “No”

#16
The main issue mentioned in the article is to use Github.

The "issues" on Github could be "bugs", "feature request" or even "improvement" (it could be anything actually).

If I were to maintain a project by myself I would rather just deal with bugs or performance issue, and allow feature request in a separated queue where people can upvote it and discuss. The feature request queue could sit there forever as it's just a view of what people wants and not how the project should go.

Also react-native-fs mentioned in the article only have 4 bugs opened. The rest is just noise and unlabelled issues. Note that there might be a considerable amount of bugs in those unlabelled issues.

As a maintainer I should not spend my time to label anything, either you enter it as bug and I'm considering it since bug are supposed to be critical, either it's not and it's going into a sperate queue I can read whenever I have more free time.

Re: Open Source and Saying “No”

#17
post #16

The main issue mentioned in the article is to use Github. The "issues" on Github could be "bugs", "feature request" or even "improvement" (it could be anything actually). If I were to maintain a project by myself I would rather just deal with bugs or performance issue, and allow feature request in a separated queue where people can upvote it and discuss. The feature request queue could sit there forever as it's just…

Github isn't really the issue here, because it offers the tools to make this differentiation. Maintainers just have to use it. At Github, you can use issue templates that have a set of pre-defined questions and add labels to the created issues.

Example from my own project: https://github.com/Kovah/LinkAce/tree/main/.github/ISSUE_TEM...

Users can only create bugs and have to answer some detailed questions, because I really don't want to deal with "XYZ is not working"-types of issues without any context or further information. Feature requests are redirected to the discussion forums first. It works very well for me.

Re: Open Source and Saying “No”

#19

Low dependency analysis is one of the reasons I like Flask[0]. [0] https://github.com/pallets/flask/blob/main/setup.py

Weird, I dislike Flask because it quickly becomes a dependency soup the moment you want to add something simple like forms or a DB.

Django has less dependencies[1] - one "real" one (asgiref), one to work around a sqlite issue ("sqlparse"), and up to two timezone related backports depending on your OS (tzcata, zoneinfo). Plus obviously a library for your db backend, if you're not using sqlite.

And with that you get a lot more for less, compared to a Flask + wtforms + sqlalchemy + alembic "starter setup":

  > $ pip install flask "sqlalchemy[postgres]" wtforms alembic
  > $ pip freeze | wc -l
  > 13
  > $ pip install django psycopg2-binary
  > $ pip freeze | wc -l
  > 4
1. https://github.com/django/django/blob/60a7bd89860e504c0c33b0...
Post reply on HN