matzewe01 wrote:Die Entwicklung, dass man Security Fixes nicht mehr als solche deklariert und die Gewichtung von Features über die von Bugs und Security gestellt werden ist leider nichts neues und verschlimmert sich zunehmend.
Aus Programmierer-Sicht kann ich das aber sehr gut nachvollziehen. Ich finde einen Bug in meiner Software, oder jemand macht mich darauf aufmerksam. Also fixe ich ihn, stelle den Patch (oder ein Patch-Release) zum Download bereit, und gut ist.
Die Unterscheidung, ob ein Fehler in einer Software sicherheitskritisch ist oder nicht, ist in meinen Augen eine rein künstliche. Potenziell ist jeder Bug (auch jeder logische!) ein mögliches Sicherheitsrisiko. Ob er tatsächlich zu einem Problem wird, hängt allzu oft auch von der Umgebung ab, in der die Software eingesetzt wird.
Ergo würde ich als Programmierer mir nicht anmaßen, behobene Bugs in Kategorien wie sicherheitskritisch und nicht sicherheitskritisch zu unterteilen, weil ich das schlicht nicht beurteilen kann.
matzewe01 wrote:Rolling Releases sind auch kein Garant für mehr Sicherheit. Im Prinzip, in der Wirkung, auch nur ein Vertuschen und Verschleppen etwaiger Probleme durch Masse an Code.
Rolling Releases beheben wenigstens das Problem der Bug-Selektion. Damit liegt zwar die alleinige Verantwortung für die Fehlerfreiheit beim Programmierer der Anwendung, aber das tut sie eigentlich ohnehin schon. Maintainer portieren in der Regel ja eh nur Bugfixes zurück, die sowieso schon in neuere Releases eingeflossen sind, oder für die zumindest ein bekannter Patch existiert.
Darauf bezog sich meine oben geäußerte Kritik an Stable Releases - die zusätzliche Selektion bringt (meistens) kein Plus an Sicherheit (es sei denn, man hat es mit Software zu tun, in die jeder Fix zwei weitere Löcher reißt).
matzewe01 wrote:So wie es in der ganz normalen Marktwirtschaft an guten Fachkräften zunehmend mangelt, mangelt es leider auch bei den Opensource Projekten zunehmend an Fachkräften. Um mal das Rad zur jüngsten "Backdoor" Diskussion zu schlagen....
In dem Punkt ist meine Meinung vielleicht etwas ambivalent. Ich denke, der Fachkräftemangel ist sowohl in Wirtschaft wie auch FOSS-Projekten ein überwiegend hausgemachtes Problem.
Die Wirtschaft hat sich's überwiegend versaut, weil sie permanent versucht, Arbeitskräfte in ein Wettbewerbsverhältnis mit Programmierern im Ausland drängen - einige Beispiele sind mir da durchaus bekannt (und der Wettbewerb ist durchaus nicht fair - da wird nur auf den Stundensatz in der Angebotskalkulation geschielt, nicht auf die am Ende tatsächlich benötigte Anzahl Manntage, Reibungsverluste, Nachbesserungen etc). Dazu dann noch eine strategische Ausrichtung à la "wir kaufen Programmierleistung nur ein, selber machen wir nur Planung, Koordination und Integration" - das hat einfach viele junge talentierte Leute in andere Richtungen vergrault, wo's mehr zu holen gibt und die Perspektiven besser sind.
Die FOSS-Projekte haben es auf andere Weise versaut. In der Boom-Zeit gab es einfach viele Studenten und Uni-Abgänger, die richtig programmieren konnten. Genug "Rohstoff" für die FOSS-Projekte. Ergo hat sich dort eine Kultur etabliert, die für Einsteiger nicht gerade förderlich ist. Die Hürden liegen ziemlich hoch ("lies dich erst mal in den Code ein" ist eine nicht unübliche Form der Begrüßung), und ordentliches Mentoring sucht man meist vergebens.
Dabei müssten sich die Projekte längst darüber im Klaren sein, dass sie ihren Nachwuchs heute aus den Powerusern anwerben und dann ausbilden müssen. Programmierpraxis bekommt man in keiner Ausbildung und in keinem Studium vermittelt. UML, Java und SQL helfen halt nicht, wenn die Software in C geschrieben ist, und Erfahrung in diesem Umfeld bringen heute halt nur Leute mit, die etwas älter sind, einen Job mit >40h/Woche haben und auch sonst vielleicht nicht die vielen Stunden Zeit aufwenden können, um in FOSS-Projekten zu programmieren.
IMHO müssten daher sowohl Firmen als auch Projekte den Fokus wieder stärker darauf legen, Leute anzuwerben, die programmieren wollen (und logisch denken können) und bei denen dann die nötige Erfahrung und Praxis durch Mentoring aufzubauen. Ein Uni-Schein, auf dem "kann Java" steht, heißt halt noch lange nicht, dass jemand auch wirklich in einem Projekt produktiv mitarbeiten kann.