Non-technical security best-practices for open source projects
git.sr.ht
git.sr.ht
"Make the right user behavior is the easiest for them."
If you want users do something, make it the easiest course of action for them and so that they have to go out of their way to do something else (that you don't want them to be doing).
If there exists a convenient shortcut the users will be using it even if it has adverse security implications.
For example, if you want them to be using SSL when connecting to your product, make that your client uses SSL by default and you need to specify additional option to do something else.
In Linux kernel world, in the old times it took effort to be constantly updating the kernel. Now it is the opposite -- it does not take effort to keep it up to date and actually requires action to stay at a particular version.
Now I understand to a large extent this is thanks to work done by distros, but this would not be possible without stability of APIs and drivers.
Some software include so much freedom that it actually hurts users. Now the idea isn't to take away any freedom but rather somehow steer users into using the software correctly.
I like to think about this advice in terms of "expert mode"--if you are regular user I am steering you into safe behavior that you probably expected, but if you are an expert I give you the freedom to do whatever you want to do.
1. Make bug reporting easy with an obvious place to report
2. Do not change interfaces between versions because users will hesitate to upgrade to get security patches.
3. For libraries, maintain security fixes for older versions, provide clear documentation so that users can upgrade to newer versions.
4. For applications, either change slowly or make a compelling case for change.
(Referenced on p. 40 of Greg K-H's preso.)
What I am seeing is breaking changes more and more in minor and patch versions, especially since developers are afraid to cut a 1.x so they hide behind the 0.x semantic versioning unstable interface clause.
Breathe in, breathe out. Like the tides.
Since GitHub submissions were altered to show more of the URL (enough to show user/team/organization name), could the same be done with other repository hosts like sr.ht?
other than that, all links are in blue color to me
In theory it should take zero.
> evolve systems over time so no one notices. (22'5")
I was wondering if anyone had some insight on this?
I understand that deprecating a function usually means you'll be removing it at some point, which goes against the rule "Evolution is addition only", but is it that bad to try to steer users towards a better API, or am I missing something particularly bad about that deprecation attribute?
Please, somebody notify Microsoft's Windows dev team. They desperately need, but did not get the memo.