361

I'm not complaining, but I didn't realize how much work it was. It makes me really respect the people who do it on a regular basis.

For example:

  • You know how to use your software, but other people don't. So you need to write documentation.
  • You can just modify the source files, but it's impractical for everyone to do that. So you need to add a config file.
  • You can just drag the output files into place, but that's impractical for everyone to do. So you need to package it.
  • You trust yourself, but distro maintainers rightfully don't. So you need to package your source code and configure the package to compile it.
  • You will abide by your idea of how the software should be used, but other people might not. So you need to pick a license.

Sometimes I think there must be an easier way, but I can't think of any. I guess it probably gets easier with experience.

all 29 comments
sorted by: hot top controversial new old
[-] Zeth0s@lemmy.world 55 points 11 months ago* (last edited 11 months ago)

That's why engineers are, on average, paid more than researchers... And why research is such a nicer job.

Create robust and easy-to-use stuff is tough and you don't get much reward

[-] miss_brainfart@lemmy.ml 20 points 11 months ago* (last edited 11 months ago)

But if anything goes wrong or doesn't work right, suddenly the users remember who deserves recognition

[-] Zeth0s@lemmy.world 13 points 11 months ago

Not really, they'll complain, open an incident and tell engineers they "are amateur, my grandmother could do better"

[-] hyperreal@lemmy.world 2 points 11 months ago
[-] pexavc@lemmy.world 2 points 11 months ago* (last edited 11 months ago)

I've been attempting to build systems to make this "robustness" redundant across all my works, but I always feel there's something more that I missed. I can't tell if this task is simply never-ending or I just lack the knowledge of covering all the dots from the get-go or both.

[-] DetectiveSanity@lemmy.world 1 points 4 months ago

Those are signs of an ever evolving/improving mind! You continue to perfect your craft and as such your older self is less efficient, perfect and organised.

[-] svetlyak40wt@lemmy.ml 38 points 11 months ago

I've seen a chart where software development complexity grows 3 times on each of these steps. For example:

  • implement a business logic: 1 day
  • cover with tests: 1 * 3 = 3 days
  • write documentation: 1 * 3 * 3 = 9 days
  • make it installable by other users: 1 * 3 * 3 * 3 = 27 days
[-] poVoq@slrpnk.net 30 points 11 months ago

This is basically the problem with "suckless" software summed up.

[-] const_void@lemmy.ml 10 points 11 months ago
[-] John_Coomsumer@beehaw.org 9 points 11 months ago

Brb, putting "suckfull software developer - 12 years" on my resume.

[-] zephyr@lemmy.world 9 points 11 months ago

I'm not sure I'd call it a problem. In the end it's the developers' choice.

Btw, I think this applies in general to opinionated software. Suckless is just a subset of that.

[-] fafff@lemmy.ml 28 points 11 months ago

Documentation is very useful today (to clarify our thoughts on what is useful and what is not, what is in scope and what is not), and for our future selves.

Writing small bits of software made me appreciative of the work teams put on large pieces of infrastructure!

[-] thirdBreakfast@lemmy.world 7 points 11 months ago

Hard agree on helping out your future self. I routinely drop a commands.md file in every project now, and dump any commands in there for creating the dev environment, the build step, any thoughts that might help when I come back in five years.

[-] bleistift2@feddit.de 28 points 11 months ago

Even the step from one-off script to reusable code is a 1:3–10 rise in complexity, even without distribution. It’s really interesting how problems grow.

[-] Caboose12000@lemmy.world 12 points 11 months ago* (last edited 11 months ago)

I've never worked on an open source project before but what you're describing are all my favorite parts of working on my personal projects so far. lol maybe if I get an actually useful project idea I'll finally become an open source dev

[-] notabot@lemm.ee 9 points 11 months ago

If you enjoy writing documentation, creating tests or handling packaging there is any number of open source projects out there that would love your help. If you see a project that interests you at all, get stuck in!

[-] ExLisper@linux.community 9 points 11 months ago

That's nothing. You know what you need. Try figuring out what other people need. They usually don't know what is technically possible, what would be most helpful and how it should work.

[-] otl 9 points 11 months ago

But maybe you personally don’t have to write the docs or packaging stuff; if you publish it as open source, others can have a go themselves! :)

[-] squaresinger@feddit.de 8 points 11 months ago

I have so many projects that could be cool for someone else, but I just can't be bothered making them usable for others.

[-] shiroininja@lemmy.world 6 points 11 months ago

Yeah, when I released the alpha of my first open source app, boy I had a lot of work to do when I started getting feedback

[-] ipkpjersi@lemmy.ml 6 points 11 months ago

I write config files for my own stuff I use FWIW but yeah you're right lol open-source software is much more work. Still it's rewarding though to be able to share your cool software with the world.

[-] PuppyOSAndCoffee@lemmy.ml 5 points 11 months ago

Just so do it for you so it’s not a drag

How to compile & deploy

How to operate

[-] amki@feddit.de 4 points 11 months ago

If you use something like C# at least source management and packaging are being done for you by the development tools.

But yeah it needs to do something useful and one needs to know how to operate it. That doesn't go away.

[-] swnt@feddit.de 4 points 11 months ago* (last edited 11 months ago)

For the first and second point however, I've learned that whatever the others don't know today, that'll be my state of lack of knowledge in a few months or years. Anything that isn't a one off script I generally document/comment because I've had some projects when I was young, and couldn't work in them after a few months of break because I didn't understand anything.

That's when I understood, that "others" is just me in a few months.

[-] mineapple@feddit.de 3 points 11 months ago

Once, I searched for a very specific thing about my laptops power throtteling behaviour and found an reddit post with an answer to it. After reading it, I saw my own username next to it :D I seemingly dug down that rabbit hole a couple of months prior.

[-] ebenixo@sh.itjust.works 2 points 11 months ago

Packaging and installation are important for released software

[-] smiley@hexbear.net 2 points 11 months ago

I discovered this when I started getting issues reported on my public repo for a personal project. Whoops haha.

this post was submitted on 29 Aug 2023
361 points (99.5% liked)

Open Source

29688 readers
72 users here now

All about open source! Feel free to ask questions, and share news, and interesting stuff!

Useful Links

Rules

Related Communities

Community icon from opensource.org, but we are not affiliated with them.

founded 5 years ago
MODERATORS