News for hackers. Stuff that matters.
Re:Gamification Affects Software Developers: Cautionary Evid... by r3trohack3r on Sunday October 23, 2022 @08:07PM (#33311557)
This is the social commentary where OSS and freedom respecting software intersect. It was called upfront when the split happened.

Don't build FOSS for others. Build it for yourself and package it for others. Expect contributions. It's okay to expect your users to contribute. It's okay to push back and expect them to contribute. It's okay to say no to PRS because you don't have time to review them. It's okay to not have the time to say you don't have the time.

Personally, package management solutions fall short of the FOSS goal for me. Hard to start with a package and float my own changes. Hard to fork and maintain my own version. The whole push for staying on mainline and pushing that burden of the original author is a symptom IMO.

Re:Gamification Affects Software Developers: Cautionary Evid... by mikepurvis on Sunday October 23, 2022 @08:54PM (#33311841)
Maybe this is a hijack, but IMO poor packaging tools are a big part of the problem here. Forking a Python package to give it a new name is a giant pain, and if you don't rename it and only release it to an internal pypi, you're inviting angst and confusion from your users.

In contrast, Nix trivially gives awesome tools for patching in fixes at varying degrees of locality, making it very easy to maintain a long term fork or just apply unmerged fixes in the short term.

Re:Gamification Affects Software Developers: Cautionary Evid... by geerlingguy on Sunday October 23, 2022 @10:46PM (#33312478)
Composer also has a fairly robust patches plugin, I hate other ecosystems that basically require a full fork.
Re:Gamification Affects Software Developers: Cautionary Evid... by mikepurvis on Sunday October 23, 2022 @11:44PM (#33312750)
I feel like a fundamental issue is around human-assigned package names and linearly incrementing version numbers. Anyone who graduated from SVN to git understands about using hashes for true object identification, but it seems it's not nearly as widespread in the packaging world, other than for caches and lock files that most users never interact with directly, and rarely-if-ever for enabling nonlinear package evolutions.

Anyway, I haven't used PHP in fifteen years, but it's great to know that it at least attempts to address this in a better way. Certainly project/dependency-level package managers should have a major advantage over distro package managers in terms of being able to address this kind of thing, but it seems that many of them still ended up with distro-packaging conventions and concepts baked deep into the design.

Re:Gamification Affects Software Developers: Cautionary Evid... by wallmountedtv on Monday October 24, 2022 @02:27AM (#33313534)
I would not put it on linearly incrementing version numbers, as it is a great label to show known stable git hashes. But version numbers should not be the only way to fetch in packages.
Re:Gamification Affects Software Developers: Cautionary Evid... by mikepurvis on Monday October 24, 2022 @09:37PM (#33325095)
Absolutely, and that's what Nix does. You can of course access anything in nixpkgs by named attribute, and it will have a human readable version number corresponding to the upstream source. But the internal representation is all based on input addressing and hashes.
Re:Gamification Affects Software Developers: Cautionary Evid... by MikePlacid on Sunday October 23, 2022 @11:39PM (#33312726)
> It's okay to not have the time to say you don't have the time.

No, it’s not ok. I did that of cause, but it’s not ok, it’s bad. Especially when you promised something to people using your code. Not much effort is required to drop a one line notice - find the internal strength to do it please.

Re:Gamification Affects Software Developers: Cautionary Evid... by nomdep on Monday October 24, 2022 @01:07AM (#33313134)
Never promise anything to people using your code. Even if they are paying, unless it is in a contract.
Re:Gamification Affects Software Developers: Cautionary Evid... by pfortuny on Monday October 24, 2022 @01:47AM (#33313312)
Yep. The “this software is distributed as is, with no guarantees…” is essential in any kind of freelance open source development. That sentence does not appear in the BSD licenses and I deem that a mistake.
Re:Gamification Affects Software Developers: Cautionary Evid... by sarnowski on Monday October 24, 2022 @03:12AM (#33313779)
Every BSD license has this, which is for that purpose:

THIS SOFTWARE IS PROVIDED „AS IS“ AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.

Re:Gamification Affects Software Developers: Cautionary Evid... by MikePlacid on Monday October 24, 2022 @10:56PM (#33325627)
> Never promise anything to people using your code. Even if they are paying, unless it is in a contract.

“Never” is a very strong word. What is your recommendation based upon, exactly?

This is my code. It costs me nothing to tell people my future plans with the code. It costs me nothing to tell people that my plans are most probably off. But it will gain people something - they would be able to plan for the future better.

“Politeness costs nothing and gains everything” - is a better theorem (than yours one). I would rather tell it as: politeness usually costs nothing and gains at least something, but that’s just an engineer correcting a salesman’s statement.

Re:Gamification Affects Software Developers: Cautionary Evid... by nomdep on Tuesday October 25, 2022 @12:20AM (#33326194)
A promised feature feels like something you already have, and just need to wait for a little bit.

But your plans can change.

Maybe you change your priorities, maybe you discover that a feature is harder to implement than what you tought and you must reduce its scope.

Or maybe you realize it was a bad idea after all and decide to implement a different feature.

If you have promise the original feature, instead of happy users for the improvement, some of them will be angry because of what you "took from them".

That's why I think the real politeness is to never promise nothing concrete until you are actually ready to ship it.

Re:Gamification Affects Software Developers: Cautionary Evid... by ohgodplsno on Monday October 24, 2022 @03:08AM (#33313757)
Unless you're paying me _extremely generously_ for my work, I will disappear whenever I damn well please.
Re:Gamification Affects Software Developers: Cautionary Evid... by MikePlacid on Tuesday October 25, 2022 @12:15AM (#33326159)
1. That’s a great illustration why socialism does not work. When everyone gets a regulated paycheck, everyone thinks they are underpaid. No one in the whole country is paid _extremely generously_. So people kinda disappear from their working places, even when they are honestly sitting on a chair assigned.

2. But. Even in a socialist country there is always a bunch of people who love their job more than a paycheck. Let’s call them “real professionals”. They just love to get things done.

3. When a real professional comes to a capitalist country he sees that there is a huge demand for their services and no real competition. Cause a lot of capable people virtually disappear whenever they damn well please unless they are paid _extremely generously_ for their work. For example:

4. Our customer was complaining that they have too many problems with our software. I was sent to look into that. When I arrived their CTO demonstratively unscrewed the plate with the name of our company from the door of the room I was assigned to. Shrug. Working. Issue #1, issue #2, … issue #23. Sound customers hear while connecting through our switch goes up, then down, then up, then down… Investigation revealed that one department under the CTO bought their voice files from one vendor, the other department under the CTO bought their files from another vendor. One bunch was twice as loud as another.

Now, neither vendor was going to do anything about that unless they are paid extremely well for the additional job. Neither department was going to do anything about their files unless they are paid extremely well for their work (actually they were demanding each other blood, but you can consider it just a kind of currency). I scratched my head. It is definitely not our job, we just connect a source to a destination. But. Actually our software can see which department a voice file comes from. I am going to give you an option: based on a voice file source you will be able to adjust the volume by a configured amount. And this configuration can be changed in real time, so basically you will have a volume knob you can adjust while software runs.

It took 15 minutes to code and a week of QA, which does not count since it is always a week of QA. Anyway in a week issue #23 was gone. Next.

In four months the CTO told me that in 15 years in the tech industry he never saw a company as aggressive as ours. The definition “aggressive” gave me a pause. Nothing we did seemed “aggressive” to me. We humbly listened to the problems and did our best to help, without sorting “our problem” or “not our problem”. It’s kind of opposite to “aggressive”, no?

5. A customer from that F..<something> list of big companies that is often thrown around but I could not remember it exactly told me once that when something happens, they pray (as in pray to God) that it was our company fault. Or, if not - that we were able to find a workaround.

—-

So of cause, go ahead - disappear unless you are paid extremely well for your work. Even if that work is dropping a line warning people that your plans have changed. Such a widespread attitude gets me paid extremely well. Kinda ironic, no?

Re:Gamification Affects Software Developers: Cautionary Evid... by ohgodplsno on Tuesday October 25, 2022 @03:44AM (#33327403)
Despite your high school level of understanding of what is socialism and capitalism that seems to be formed from nothing more than knowledge from watching TV news, very happy for you that you make money from it.

Still, if you want to force me to do absolutely anything on a project I maintain myself and for fun, feel free to pay me extremely well. My employer does so and gets my work, the price doubles for anything done on my free time.

Re:Gamification Affects Software Developers: Cautionary Evid... by MikePlacid on Tuesday October 25, 2022 @05:15AM (#33328121)
> understanding of what is socialism and capitalism that seems to be formed from nothing more than knowledge from watching TV news

Lol. I have a “living experience” both in socialism and in dismantling it, which is an extremely painful experience in itself. My points 1 and 2 are from hands-on observation.

And my naming something a good thing is not the same as me forcing you to do that good thing. Yes, a named a politeness a good thing, but this declaration while obviously true can’t force you to be polite. Confusing these two things is a logical slippage. Frankly, I never observed such a slippage in good professionals.

Re:Gamification Affects Software Developers: Cautionary Evid... by pjmlp on Monday October 24, 2022 @05:24AM (#33314466)
I don't promise anything, my github is a collection of forks from projects I find interesting, some stuff I rescued from university and technical school projects since 1990, and a few basic utilities I created to make my life easier.

That's it, and I can refer HR departments that enjoy reading github profiles to that pile of code with various levels of quality.

Nothing else and I post all my own code as GPL unless forced otherwise by existing licenses.

I do not work for others for free.

Re:Gamification Affects Software Developers: Cautionary Evid... by bombolo on Monday October 24, 2022 @01:55AM (#33313340)
> Hard to fork and maintain my own version

apt-get source xxxx

put patch in debian/patches

dch --increase

dpkg-buildpackage.

Copy the patch and rebuild next time a new version comes out.

Re:Gamification Affects Software Developers: Cautionary Evid... by robertlagrant on Monday October 24, 2022 @07:13AM (#33315197)
Creating bridges that allow Apt to become the overarching package manager for all sorts of language-specific packages would be extremely interesting.
Re:Gamification Affects Software Developers: Cautionary Evid... by still_grokking on Monday October 24, 2022 @07:31AM (#33315354)
$ apt rdepends debhelper
Re:Gamification Affects Software Developers: Cautionary Evid... by bombolo on Monday October 24, 2022 @09:54AM (#33316638)
Most languages have that already.
Re:Gamification Affects Software Developers: Cautionary Evid... by account42 on Tuesday October 25, 2022 @08:07AM (#33329409)
> Hard to start with a package and float my own changes.

Easy on Gentoo - https://wiki.gentoo.org/wiki//etc/portage/patches