En tant que jeune étudiant aspirant à une carrière de programmeur, que dois-je penser des logiciels open source? [fermé]

17

De temps en temps sur certains sites Web technologiques, un titre comme celui-ci apparaîtra: http://www.osor.eu/news/nl-moving-to-open-source-would-save-government-one-to-four -milliard

Ma pensée initiale sur le gouvernement et les organisations qui migrent vers des logiciels open source est que des tonnes de programmeurs perdraient leur emploi et que l'industrie se rétrécirait. Dans le même temps, la prolifération et l'utilisation de logiciels open source semblent être fortement encouragées dans de nombreuses communautés de programmation.

Est-ce que je pense que la pleine adoption des logiciels open source partout dans le monde nuira à l'industrie du logiciel? Si ce n'est pas le cas, pourquoi tant de programmeurs aiment-ils les logiciels open source?

Mat
la source
4
Si vous pensez qu'une stratégie open source signifie des licenciements, alors lisez la "Lettre de stratégie V" de Joel Spolsky. joelonsoftware.com/articles/StrategyLetterV.html
user16764

Réponses:

26

Ce n'est pas parce qu'un projet est open-source que les programmeurs n'en vivent pas. Les gouvernements et les entreprises donnent de grandes sommes d'argent à des fondations comme Mozilla et Apache.

Gardez également à l'esprit que les entreprises doivent embaucher des programmeurs pour MODIFIER le projet open source afin de le personnaliser pour leur entreprise. Les entreprises ne peuvent pas utiliser les outils standard pour tout. C'est quelque chose qui ne peut pas être fait avec un logiciel de source fermée, c'est donc un exemple de la façon dont vous pouvez ouvrir de nouvelles opportunités de programmation. Il ne s'agit pas d'éliminer les programmeurs ou de ne pas les payer, il s'agit de réorganiser la structure pour, espérons-le, rendre les choses plus efficaces afin que nous ayons plus de temps pour les NOUVEAUX projets.

Une autre chose à réaliser à propos de l'open source est que vous n'avez pas nécessairement à révéler le code source de votre programme, sauf si vous allez distribuer le programme. Pour les programmes qu'une entreprise va utiliser pour elle-même dans ses serveurs ou besoins intra-entreprise, elle ne distribuera probablement PAS et n'aura donc pas à révéler le code source du programme modifié.

WuHoUnited
la source
Les personnes qui travaillent sur les projets principaux sont également parfaitement positionnées pour participer à ces travaux de personnalisation, car elles connaissent déjà les éléments internes du projet.
Matthew Scharley
Je me demande comment Steve Streeting (fondateur du projet Ogre3D) a réussi à travailler dans le domaine du graphisme 3D et comment cela a influencé le moteur qu'il a conçu.
jokoon
5

L'économie open source est assez étrange et souvent contre-intuitive. Prenez un produit comme la feuille de calcul Excel (juste un exemple, n'importe quel gros produit commercial ferait l'affaire). L'entreprise de construction et de support d'Excel emploie un certain nombre d'employés, disons X. X vous semblerait probablement être un chiffre important pour vous et moi, mais je n'ai aucune idée de ce que c'est. Ce que je sais, c'est que c'est un nombre minuscule par rapport au nombre de personnes qui gagnent leur vie en soutenant Excel dans les bureaux, les écoles et d'autres institutions et en créant des outils à l'aide d'Excel. Ce nombre est probablement X * 10000. Donc, si vous remplacez Excel par un produit open source, vous remplacez X mais le X * 10000 n'est pas affecté.

En fait, ce n'est même pas aussi simple que cela. Sans les employés X, davantage de développeurs rémunérés sont nécessaires pour former, dépanner et modifier la feuille de calcul open source. Ce n'est pas parce qu'il n'y a pas d'entreprise commerciale derrière le produit que les entreprises ne demanderont pas (et ne paieront pas) un bon service. En effet, si votre produit open source gagne suffisamment de terrain, les entreprises sont parfois disposées à soutenir une fondation qui garantit le développement futur dudit produit. Cela est particulièrement vrai si leurs intérêts commerciaux sont intimement liés au produit. Pensez à Mozilla , Apache Software Foundation , Mono Project ou Canonical .

Enfin, les outils open source ne sont jamais une menace lorsque vous essayez de vendre un service. Pensez à des organisations comme Facebook, Twitter et même Stackoverflow. En fin de compte, ces organisations ne veulent pas vous vendre de logiciels. Ils veulent créer un réseau géant. Une fois que le réseau est suffisamment grand, il crée sa propre gravité. L'utilisation d'un autre "produit" n'aurait aucun sens car le nombre de participants est ce qui compte le plus. La technologie sous-jacente n'est qu'un détail.

Scant Roger
la source
3

Je dirais de lire les différentes idéologies derrière certains des projets OpenSource les plus importants, comme Chromium, Mozilla, etc., puis de vous faire votre propre opinion. Personne n'a vraiment le droit de vous dire comment vous sentir d'une manière ou d'une autre.

Cela étant dit, j'embrasse OpenSource parce que j'aime l'idée de transparence dans la conception de logiciels. J'aime aussi que la communauté des utilisateurs ait un impact très réel et direct sur la direction du projet. Vous n'obtenez pas cela dans un environnement de source fermée.

Si je me souviens bien, l'un des arguments d'un partisan de Creative Commons a été qu'en rendant les choses «gratuites», vous permettez aux gens d'utiliser le produit de vos idées d'une manière que vous n'auriez jamais imaginée. Voici une vidéo que j'ai particulièrement appréciée: https://creativecommons.org/videos/a-shared-culture

Tieson T.
la source
2
Je ne pense pas qu'un projet comme mozilla va réduire le besoin de programmeurs. À moins que votre entreprise ne développe son propre navigateur Web, ce dont je doute vraiment. De plus, je ne pense pas que la plupart des gens vont même regarder le code source. Les programmeurs se soucient du code source, pas les clients.
Joel Gauvreau
1

Nous ne verrons jamais une étreinte complète .

Nous aimons essayer de contribuer positivement au monde. En outre, participer à un projet open source est un excellent PLUS pour votre CV.

karlphillip
la source
3
Nous ne traitons pas les contributions open source de la même manière que l'expérience rémunérée. En fait, notre expérience nous a appris à éviter d'embaucher quelqu'un qui a apporté une contribution majeure à des projets open source, car le développement de logiciels dans le monde réel est 10% amusant et 90% ennuyeux. Les candidats que nous avons embauchés et qui étaient gros dans les projets open source ne voulaient pas faire le travail ennuyeux qui était nécessaire pour produire des solutions de qualité professionnelle.
bit-twiddler
6
@ bit-twiddler: Certainement, quelqu'un doit faire les parties ennuyeuses dans les projets open source trop
Anto
1
@Anto: le problème est que les parties ennuyeuses ne sont souvent pas réalisées sur des projets open source. Par exemple, la documentation est l'un des attributs qui distingue les produits commerciaux de haute qualité de leurs homologues logiciels open source. La documentation, même pour les projets open source les plus réussis, est pâle par rapport à celle des produits commerciaux à la même échelle qui ont réussi. Le manque de documentation adéquate fait de l'apprentissage des produits open source une douleur majeure. Je ne suis pas payé pour rassembler et déchiffrer une documentation mal écrite. Je suis payé pour produire des résultats.
bit-twiddler
@ bit-twiddler: Donc, vos programmeurs devraient également publier une documentation bien écrite? N'est-il pas moins coûteux d'embaucher des rédacteurs techniques et ne produisent-ils généralement pas un meilleur produit?
David Thornley
1
@David Thornley: Oui, tout le personnel de développement devrait être capable de bien écrire en plus d'être des développeurs de logiciels compétents sur le cycle de vie complet (c'est-à-dire que nous n'avons pas de personnel uniquement en code). Personne ne connaît mieux le produit que l'équipe de conception et de mise en œuvre. Notre rédacteur technique unique est chargé de coordonner et de diffuser la documentation livrable.
bit-twiddler
1

L'open source est une menace pour les éditeurs de logiciels packagés dont les produits sont dans un domaine suffisamment populaire pour susciter un intérêt suffisant dans la communauté open source pour développer une alternative gratuite. Je pense qu'un cas est important: la baisse significative des prix qu'Oracle et Microsoft peuvent facturer pour les logiciels de base de données. mysql est plus que suffisant pour la plupart des projets et essentiellement gratuit à moins que le client ne veuille payer pour le support afin qu'il ait quelqu'un sur le crochet si les choses tournent de côté.

Il est absolument complémentaire aux activités de conseil et de services car il abaisse le coût total de production et augmente la productivité de leurs développeurs. Les entreprises l'aiment pour les mêmes raisons, bien que certaines insistent pour trouver des fournisseurs pour fournir un support commercial afin qu'il y ait quelqu'un à appeler / à blâmer s'il ne répond pas aux attentes.

Jeremy
la source
MySQL appartient à Oracle. Rien n'empêche Oracle de fermer la source sur ce produit, tout comme rien n'empêche Oracle de supprimer les entrées de la communauté vers Java. Les éditeurs de logiciels ne vendent pas de logiciels - ils vendent la tranquillité d'esprit aux dirigeants! Les sociétés publiques continuent d'acheter des logiciels commerciaux parce qu'elles veulent pouvoir aboyer dans des sociétés de même taille et que quelqu'un saute dans les cerceaux pour faire disparaître les problèmes. La vente d'IP est la façon dont les petites sociétés de logiciels deviennent de grandes sociétés de logiciels. Un modèle de service uniquement dépend entièrement du coût de la main-d'œuvre.
bit-twiddler
2
L'open source est une menace exactement de la même manière qu'un concurrent est une menace. Si la base de données d'Oracle (comment appelez-vous exactement de nos jours?) Est bien meilleure que, disons, PostgreSQL, ils pourront la vendre. Si ce n'est pas le cas, pourquoi diable devrions-nous payer Oracle?
David Thornley
1

Les plus gros risques ...

  • Volatilité: une grande partie de l'OSS est développée par à-coups. Il existe des projets importants, des versions stables dans des pays moins connus, mais parce que l'univers des logiciels libres est si divergent et fragmenté dans de nombreux domaines (et en constante évolution), il est rare qu'un projet devienne suffisamment mature pour dire que le développement sera régulier, indéfini, ou perpétuel. Changer de cap en cours de route est coûteux, même si le produit est gratuit car l'intégration, la régression et l'assistance pratique ou immédiate ne sont pas gratuites, même si elles sont disponibles.

  • Manque de responsabilité: il n'y a personne «investi», il est donc difficile de chercher recours lorsque de mauvaises choses se produisent. Il n'y a aucune garantie. Rien qui ne ressemble à un seul. La seule assurance que vous avez généralement est la réputation et éventuellement votre propre expérience personnelle. Comme il était gratuit, les développeurs peuvent vous dire de ne pas faire de camion de pompier, et ne vous souciez pas un peu de votre échec, ou moins important si vous continuez à utiliser leur produit.

JustinC
la source
2
Et c'est différent des logiciels commerciaux, propriétaires et à source fermée de quelle manière? Le propriétaire peut toujours décider d'aller dans une autre direction, et le seul produit général dont j'ai jamais entendu parler avec une assurance décente est ImpôtRapide.
David Thornley
C'est différent à bien des égards. L'une des solutions est commerciale, car les producteurs de logiciels à but lucratif, en particulier les composants, les bibliothèques et les exécutions, font généralement un bien meilleur travail pour fournir des transitions plus fluides. Par exemple, par une énumération explicite des changements de rupture, et ce qui doit être fait ou non en raison de ces changements de rupture. Cette énumération explicite est généralement préparée et publiée bien avant que le logiciel lui-même ne soit disponible, avec des errata post-version rapidement disponibles, et ces informations sont dans un emplacement et un format généralement cohérents.
JustinC
1

Embrassez les outils et les trucs OSS, mais ne vous laissez pas obséder par eux (et oui, j'ai vu beaucoup de gens devenir obsédés par les trucs open source, presque toujours à leur détriment).

Choisissez et choisissez le ou les meilleurs outils pour chaque travail, qu'ils soient open source ou non (sachez que certaines licences open source rendent tout ce qui est sous licence inutile pour le travail commercial, en particulier les bibliothèques sous licence GPL en souffrent).

jwenting
la source
1

La majorité des logiciels Open Source modernes sont développés par des employés à temps plein, qui sont principalement payés pour le développer. Le reste est développé par ceux qui sont payés pour faire quelque chose qui dépend du logiciel qu'ils développent, et un travail collaboratif sur celui-ci, la crowdsourcing d'un support et de maintenance est absolument obligatoire pour eux.

SK-logic
la source
1

La grande majorité des programmeurs ne sont pas payés par copie distribuée du logiciel qu'ils créent. Ils sont payés une fois pour leur temps passé. Même les entreprises qui emploient des programmeurs ne gagnent généralement pas leur argent par copie vendue. À quelques exceptions notables comme Microsoft et Adobe, les logiciels font généralement partie de leur infrastructure, comme un site Web d'entreprise ou des outils internes, ou sont donnés dans le cadre d'un autre produit ou service.

D'autres ont souligné que la plupart des principaux contributeurs open source ont des sponsors commerciaux. Du côté des amateurs, je trouve intéressant que les gens se concentrent toujours sur ce qui est donné au lieu de reçu. C'est comme un électricien recevant gratuitement tous les composants d'une maison, déjà assemblés, à l'exception de quelques améliorations de câblage qu'il fait lui-même, et les gens le considèrent fou s'il passe quelques heures un week-end à enseigner aux autres à faire les mêmes améliorations pour d'autres maisons qui ont obtenu la même affaire. Bien sûr, il donne gratuitement une partie de son temps et de son expertise, mais en retour, il obtient un excellent produit qui vaut plusieurs fois le travail qu'il a fait et assure un écosystème sain pour la prochaine fois qu'il aura besoin de quelque chose.

Karl Bielefeldt
la source
0

Comment te sens-tu? Bon deuil, vous vous demanderez ensuite "comment parler aux femmes". L'open source ne remplacera jamais qu'une petite partie du logiciel payant. Pour la plupart des organisations, l'augmentation des coûts de passage de ce qu'ils savent déjà à autre chose, même gratuit, est plus que le coût du logiciel.

SnoopDougieDoug
la source
0

La philosophie principale du libre / open source (comme je le vois) est que lorsque vous distribuez un logiciel, vous distribuez également la source avec. L'open source ne signifie pas nécessairement gratuit. Et certainement dans tout grand projet, le simple fait de choisir une solution open source ne signifie pas que vous venez de retirer quelque chose d'une étagère et de le brancher et vous avez terminé. Pour toute grande application, vous devez l'adapter à vos besoins spécifiques (cela peut être aussi simple que de le configurer et de migrer votre système existant vers lui ou aussi complexe que d'en modifier de grandes parties) et d'avoir un mécanisme de support fiable ainsi que mises à jour / corrections de bugs avec le logiciel d'origine. Cela signifie qu'il y aura toujours des emplois pour les programmeurs. Sans oublier, pour tout projet open source majeur,

Pensez-y de cette façon, s'il existe une solution open source mature à votre problème qui existe déjà et qui est utilisée par beaucoup de gens, est-il logique de dépenser de grandes quantités d'argent pour quelque chose qui ne peut pas être aussi mature que cela ? Il est tout simplement plus efficace de l'utiliser. Il ne s'agit pas de préserver les emplois (comme je l'ai dit, il y aura toujours un besoin de programmeurs), mais un simple sens des affaires, ce qui est encore plus important lorsque l'argent de ses contribuables. Fuir l'open source au nom du maintien des emplois ne fait que créer un environnement artificiel, restreignant le partage de la technologie et à mon humble avis généralement mauvais pour la santé de la communauté de programmation.

MAK
la source
0

Je regarderais certains des contributeurs Linux pour avoir une idée de la façon dont la communauté opensource est composée de gens qui sont payés pour rendre leur code disponible gratuitement.

http://apcmag.com/linux-now-75-corporate.htm

nelaaro
la source
0

Pour moi, l'open source est également politique: il permet aux programmeurs de s'entraider afin que le travail acharné ne doive pas être repensé de manière répétée et ne soit pas autorisé à être utilisé entre les projets.

Il a également établi un meilleur ensemble de règles d'arrière-plan pour le projet, ce n'est pas sous la règle de la gestion: au final, le résultat est un code de meilleure qualité et longévité.

Sachez que le sujet de l'informatique est beaucoup plus vaste, et il existe des logiciels tellement complexes qu'il n'y a pas tellement de personnes compétentes pour les écrire, les maintenir et ajouter des fonctionnalités intéressantes.

Je trouve vraiment votre argument "des tonnes de programmeurs perdraient leur emploi et l'industrie se rétrécir" très trompeur, non seulement sur l'industrie du logiciel, mais pour le monde en général. Rappelez-vous la bulle Web: il est facile de tromper les personnes qui ne programment pas dans une entreprise. L'open source est un moyen sûr de mettre un obstacle à cela.

Vous devez également penser que le logiciel n'est pas comme beaucoup d'autres industries: vous livrez quelque chose de volatile, avec quoi le capitalisme ne peut pas vraiment fonctionner. Imaginez simplement que nous puissions dupliquer des objets physiques, mais vous devrez payer pour chaque pilule d'aspirine que vous dupliquez, car la molécule est en quelque sorte «détenue» par quelqu'un. Cela pourrait avoir très peu de sens. Pensez maintenant à copier de l'eau pure et propre (qui deviendra un jour chère): pensez-vous qu'il est éthiquement et philosophiquement correct de faire payer une telle chose aux gens?

Si les programmeurs perdent leur emploi à cause de l'open source, c'est peut-être parce qu'ils sont tout simplement incapables de reproduire le même type de qualité logicielle, donc d'une certaine manière, ils méritent d'être licenciés. Mais cela ne signifie pas qu'ils devraient être moins de programmeurs ayant un emploi: c'est juste une question de communauté, de travail d'équipe et d'éthique: les entreprises devraient payer les programmeurs soit pour implémenter des solutions aux problèmes en utilisant les logiciels existants, soit engager des programmeurs plus compétents qui peuvent ajouter fonctionnalités d'un code existant.

Prenez l'iOS, le téléphone Windows, Symbian et Android: ce sont 75% qui font la même chose, ce qui signifie presque les mêmes "roues". Ce ne sont que des saveurs différentes, mais au final, beaucoup d'argent a été dépensé parce que les entreprises voulaient survivre à leurs idéaux.

L'open source n'est pas seulement politique, c'est aussi l'innovation: comment voulez-vous donner une réalité à une nouvelle idée si vous devez tout recommencer à zéro encore et encore?

jokoon
la source
0

Le logiciel libre / open source établit une base de référence: si votre entreprise ne peut rien produire de mieux que l'alternative F / OS, elle ne pourra pas vendre de nombreuses copies. Si votre entreprise peut offrir quelque chose de bien meilleur que le F / OS disponible, elle pourra vendre des copies et réaliser des bénéfices. Par conséquent, l'une des utilisations est qu'elle réduit la capacité des entreprises à obtenir en vendant de mauvais logiciels.

Elle abaisse également les barrières à l'entrée. Quiconque possède un ordinateur de bureau ou un ordinateur portable à mi-chemin peut, sans dépenser un centime sur les licences logicielles, avoir un système d'exploitation très fonctionnel avec une interface graphique facile à utiliser et un excellent environnement de développement (il y a beaucoup de gens qui pensent que MS Windows avec Visual Studio est meilleur que cela) sorte d'environnement, et beaucoup qui ne le font pas).

Par conséquent, F / OSS aide l'entrepreneur logiciel à démarrer une entreprise à faible coût. Cela augmente l'influence et le profit de l'innovateur logiciel par rapport aux gars de la finance, qui étaient ceux qui contrôlaient la plupart des ordinateurs non universitaires à l'époque. Bon nombre des succès récents massifs auraient été plus difficiles à réaliser, peut-être impossible, sans F / OSS et ses effets.

Cela réduit la possibilité de gagner beaucoup d'argent sans la capacité correspondante, ce qui est sans doute une bonne chose.

Les développeurs qui ne sont pas très bons trouveront des créneaux dans les logiciels internes pour les entreprises qui ne comptent pas sur leurs systèmes informatiques comme un atout stratégique, et ces emplois ne seront pas beaucoup affectés par F / OSS.

Les développeurs qui sont très bons mais pas du type entrepreneur feront toujours bien avec les entreprises qui vendent des logiciels commerciaux non F / OS de bonne qualité. Le marché monétaire est plus efficace pour répondre à de nombreux besoins que le marché de la réputation F / OSS, et bien meilleur pour produire les trucs ennuyeux nécessaires. Il existe de nombreuses applications vitales que la plupart des développeurs F / OSS éviteront.

Donc, dans l'ensemble, je pense que c'est sain pour la communauté du développement. Il permet aux développeurs de mieux s'enrichir et sert d'incitation à fabriquer de bons produits (et la plupart des développeurs préfèrent travailler sur de bons produits que sur de mauvais). Cela peut nuire aux développeurs qui ne sont pas si bons ou travailler pour des entreprises mal gérées, mais cela ne réduit pas beaucoup la demande, et ils peuvent probablement trouver des emplois de toute façon.

David Thornley
la source