Logiciel open source. Qu'est-ce qu'un logiciel open source gratuit Open source open

Peter Van Valkenburg, responsable de la recherche au Coin Center et membre du conseil d'administration de la Fondation Zcash, explique pourquoi Le développement de logiciels open source est important pour instaurer la confiance et garantir la sécurité des réseaux blockchain.

Le code informatique sous-jacent à tous les principaux projets de crypto-monnaie et de blockchain ouverte est développé en tant que logiciel open source. Les régulateurs et les décideurs politiques qui tentent de comprendre les crypto-monnaies mais ne sont pas familiers avec de tels logiciels peuvent être induits en erreur en pensant que ces systèmes sont (et devraient être) développés par une ou plusieurs sociétés commerciales. Si de nombreux logiciels connus sont effectivement développés de cette manière (comme Windows de Microsoft ou le SGBDR d'Oracle), ce n'est pas le cas des projets open source, et cette différence peut et doit façonner l'opinion publique. Les logiciels open source sont créés de manière collaborative, distribués librement, publiés ouvertement et développés en tant que produit communautaire plutôt que comme la propriété d'une seule entreprise ou d'un seul individu. Dans ce cas, il n’y a pas de monopole, aucune entreprise ou individu ne créerait, ne vendrait le logiciel et ne le posséderait. Tout comme aucune entreprise ne possède le réseau Bitcoin, aucune entreprise ne produit le logiciel qui s’exécute sur les ordinateurs connectés à Internet pour former le réseau. Cette décentralisation présente certains avantages fondamentaux qui peuvent être difficiles à comprendre pour les personnes peu familiarisées avec le développement de logiciels. Pour mieux comprendre la puissance et la nature de l’open source, il peut être utile d’avoir un aperçu d’un logiciel open source particulièrement réussi. Nous parlons du système d'exploitation Linux.

L'Open Source partout

Il est difficile de calculer combien de fois par jour vous utilisez Linux, car c'est ce système d'exploitation qui sous-tend le fonctionnement de la plupart des serveurs sur Internet. Chaque fois que vous visitez Facebook, Google, Pinterest, Wikipedia et les milliers d'autres grands sites, les services que ces sites (si différents) vous proposent, vous avez affaire à des ordinateurs qui exécutent très probablement le système d'exploitation Linux. Linux peut être trouvé beaucoup plus près ; Il y a de fortes chances que vous l'ayez sous la main. Disons que le système d'exploitation des smartphones Android est basé sur Linux. Si vous possédez un Chromebook, vous utilisez un ordinateur portable basé sur Linux. Ce système d'exploitation est de plus en plus utilisé dans les téléviseurs, les thermostats, les systèmes multimédia des avions, des voitures, etc.

Pourquoi est-ce intéressant ? Parce que Linux n’est pas le produit d’un seul programmeur ou même d’un groupe de programmeurs ; contrairement à MacOS ou Windows, il n’a pas été développé par une ou même une douzaine d’entreprises. Linux compte des milliers de contributeurs. Comme l'a rapporté la Linux Foundation, une organisation à but non lucratif promouvant le développement ouvert du système d'exploitation, en 2015, environ 14 000 développeurs de plus de 1 300 entreprises différentes ont contribué des extraits de code. Rien qu'en 2015, 2 355 développeurs ont participé pour la première fois aux améliorations du code. Ainsi, par extrapolation, on peut calculer qu’en 2017, environ 18 000 personnes avaient cotisé, et ce nombre va augmenter.

Qui aurait pensé il y a cinq ans (en 1991) qu'un système d'exploitation de classe mondiale pourrait, comme par magie, être assemblé en un seul tout à partir de fragments du travail indépendant de plusieurs milliers de développeurs dispersés à travers le monde et connectés uniquement. par les fils fantomatiques d'Internet ?

Avantages de l'Open Source

Dans son livre, Raymond explique à quel point l'open source est une méthode révolutionnaire de création technologique. Linux, avec des milliers de développeurs indépendants travaillant en mode collaboration publique, illustre le modèle open source. Les crypto-monnaies suivent le même modèle, mais nous en parlerons ci-dessous.

Raymond a souligné plusieurs avantages du modèle open source. Les principaux dans le contexte de notre discussion sont les suivants :

  • Tout bon logiciel commence par satisfaire un désir personnel du développeur. La plupart des développeurs de projets open source sont motivés par le désir d'utiliser personnellement les produits qu'ils créent. Ils ne sont pas liés par un contrat les obligeant à créer quelque chose pour autrui ; ils ont un besoin personnel qu’ils satisfont. Ainsi, une motivation qualitativement différente apparaît, générant une connaissance détaillée du problème.
  • Les bons programmeurs savent quoi écrire. Les grands savent quoi réécrire (et réutiliser). Lorsque le développement est effectué ouvertement, la redondance peut être évitée et le code problématique, complexe ou redondant peut être identifié et simplifié.
  • Lorsque vous perdez tout intérêt pour un programme, votre dernier devoir est de le transférer entre les mains d’un successeur compétent.
  • Les gens rejoignent et quittent un projet open source en fonction de leurs intérêts et de leurs compétences. Personne ne reste coincé à travailler sur des projets qui ne sont plus intéressants. De nouvelles têtes apparaissent, offrant des points de vue différents sur des problèmes anciens ou de nouvelles perspectives de développement.
  • Considérer les utilisateurs comme des collègues développeurs est le moyen le plus simple d’améliorer le code et de déboguer efficacement les logiciels.

Le résultat de ce développement est un code logiciel hautement fiable créé par les utilisateurs pour les utilisateurs. Le but n'est pas de créer quelque chose qui enrichisse l'entreprise qui fabrique et vend les produits, mais plutôt de résoudre un problème suffisamment courant pour qu'une large communauté de programmeurs talentueux soit heureuse de contribuer. Les personnes sans compétences en programmation bénéficient grandement de ce modèle. Le logiciel libre semble surgir de nulle part, accessible gratuitement à tous et maintenu à jour aussi longtemps que les utilisateurs experts souhaitent également l'utiliser.

Droit et logiciels libres

La législation actuelle soutient et, dans certains cas, encourage le développement de logiciels open source. Comme tous les logiciels, il est protégé par le droit d'auteur, mais ses auteurs publient le code sous une licence qui permet à quiconque de l'utiliser et de le modifier sans autorisation spécifique ni aucun paiement aux auteurs (c'est-à-dire la licence développée par le Massachusetts Institute of Technology). -MIT).

Certaines licences incluent des exigences selon lesquelles les dérivés du logiciel doivent être publiés selon les mêmes conditions. Grâce à ce schéma, la base de code open source s'agrandit et se propage. Ce phénomène est connu sous le nom de licence de logiciel libre, ou LGPL-3 – la Lesser General Public License.

Open source dans les crypto-monnaies et les projets de jetons

Linux est peut-être l'exemple le plus vaste et le plus important du modèle open source, mais il en existe d'autres. Ceux-ci incluent tous les grands projets de crypto-monnaie et de blockchain. Ils créent tous des réseaux informatiques qui permettent aux participants de se mettre d’accord sur des données partagées (blockchain de crypto-monnaie).

Le logiciel qui donne à tout participant la possibilité de se connecter au réseau s'appelle un client et il s'agit d'un logiciel open source. Souvent, le logiciel client est développé par plusieurs participants indépendants comme la version la plus simple du logiciel réseau (c'est-à-dire le soi-disant client de référence), sur la base de laquelle un logiciel de minage, un portefeuille, un échange ou tout autre logiciel compatible avec le réseau peut être construit.

Le client Bitcoin Core est le résultat du travail de plus de 450 développeurs indépendants qui ont contribué au total à plus de 15 000 contributions au code. Le logiciel est libre d'utilisation et de modification sous la licence de logiciel libre du MIT, et l'intégralité de l'historique de développement est disponible pour examen dans un référentiel public sur Github, un service cloud qui permet à quiconque de créer un compte, de télécharger du nouveau code et de suivre les modifications. Si le référentiel que vous créez est ouvert au public, aux commentaires et aux suggestions de modifications, vous n'avez même pas besoin de payer pour un compte Github.

Le référentiel public suit également ce qu'on appelle les forks du client d'origine. Un fork crée un clone du logiciel d'origine, qui peut ensuite être modifié dans un but ou un autre sans changer le stockage d'origine. Libre aux développeurs de forker le référentiel Bitcoin Core sur Github pour créer soit des applications spécifiques compatibles avec Bitcoin (par exemple, un portefeuille pour smartphones), soit une nouvelle cryptomonnaie qui n'est plus compatible avec le réseau Bitcoin et implique la création d'un nouveau réseau de crypto-monnaie (par exemple, c'était avec Litecoin ou Zcash). À ce jour, le client Bitcoin Core original a été forké plus de 10 000 fois, et de nouveaux référentiels qui apparaissent montrent que la création de produits dérivés se poursuit.

Ethereum dispose actuellement d'au moins 121 référentiels, chacun se concentrant sur un aspect spécifique du projet (par exemple, des langages de programmation pour la rédaction de contrats intelligents, des navigateurs graphiques pour l'interaction de l'utilisateur final avec le réseau Ethereum, des clients compatibles pour participer au réseau, etc.). Il n’existe pas moins de huit projets visant à développer des clients compatibles Ethereum, et les clients les plus populaires (go-ethereum et Parity) comptent des centaines de développeurs indépendants qui travaillent dessus. Le code Ethereum et son historique complet, comme le code et l'historique de Bitcoin, sont disponibles au public sur Github et d'autres référentiels en ligne, et tout le code est publié sous la licence LGPL-3, exigeant que toutes les futures œuvres dérivées soient publiées sous la licence LGPL-3. même licence.

Même les projets récents menés par des startups commerciales démontrent un engagement envers le credo de l'open source. Zcash Company développe le protocole Zcash via un référentiel public. Plusieurs des principaux développeurs ne travaillent pas pour l'entreprise, et une organisation à but non lucratif spécialement créée se consacre à garantir une transition progressive du développement dirigé par l'entreprise vers un développement piloté par la communauté. La base de code source de Zcash est publiée sous une licence du Massachusetts Institute of Technology. Protocol Labs, le développeur de Filecoin, a l'intention de créer un modèle ouvert similaire et l'a déjà testé dans son projet IPFS, en travaillant avec du code dans des référentiels ouverts et en le publiant sous licence MIT.

Pourquoi l'open source est important

Les crypto-monnaies et les blockchains publiques peuvent fournir des fonctionnalités qui seraient réglementées si elles provenaient d’une seule société. Les émetteurs centralisés de monnaie numérique, tels que Liberty Reserve ou E-gold, étaient des services financiers et devaient s'inscrire auprès de la Financial Crimes Enforcement Administration du Trésor américain et obtenir une licence d'émetteur de fonds dans chaque État. Si ces jetons sont commercialisés pour attirer les investisseurs, ils peuvent constituer des titres, auquel cas un enregistrement auprès de la Securities and Exchange Commission des États-Unis sera requis. Ces restrictions sont logiques car les services centralisés comportent le risque que la partie au centre du système ne parvienne pas à tenir ses promesses de tester correctement le produit et de le sécuriser.

Cependant, des technologies comme Bitcoin peuvent offrir des fonctionnalités similaires en étant des réseaux ouverts et propriétaires. Il n'y a pas de société ici. Les utilisateurs rejoignent ces réseaux et les logiciels open source les encouragent à collaborer. En fin de compte, tous les participants s’accordent sur chaque élément de données nécessaire à la création de la monnaie. La décentralisation repose sur deux piliers : les mécanismes de consensus ouverts et les logiciels open source. Si le code n’était pas open source, comment les participants (des personnes qui ne se connaissent pas sur Internet) pourraient-ils comprendre et faire confiance au système auquel ils rejoignent ?

En fait, les projets de jetons basés sur du code propriétaire peuvent simplement être des services centralisés qui se cachent derrière l’argot professionnel et le « charabia de la blockchain ». Cependant, les « vrais » projets ont un code qui crée un réseau décentralisé qui permet aux participants de se faire confiance, d'avoir une motivation commune et de punir les tricheurs, et qui est lui-même décentralisé. Il est développé devant des centaines de passionnés, est accessible à tous dans le monde pour être utilisé et modifié, et est totalement indépendant des intérêts des entreprises.

Parmi les programmeurs, il y a des gens qui sont prêts à fournir gratuitement les résultats de leur travail, avec la possibilité de les modifier et de les améliorer. Nous parlons des fabricants de logiciels dits open source, qui font l'objet de controverses au sein de la communauté informatique mondiale depuis de nombreuses années. Certains disent que les logiciels open source sont l’avenir, tandis que d’autres, au contraire, les considèrent dangereux et inutiles. Mais qui a raison au final ? Il n’existe guère de réponse définitive à cette question.

Alors, qu’est-ce qu’un logiciel open source ? La définition la plus courante de ce terme révèle peut-être ses principales caractéristiques. Les logiciels open source sont tous les logiciels open source, sur lesquels les produits logiciels sont disponibles non seulement pour la visualisation, mais également pour la modification, ce qui vous permet d'utiliser du code déjà créé pour écrire de nouvelles versions de logiciels, pour des corrections de bogues et des améliorations du programme ouvert. . Il convient de noter que cette définition, selon les partisans de l'open source, ne reflète pas pleinement l'essence même du concept. De leur point de vue, le logiciel ouvert représente, outre le code source disponible pour l'édition, toute une philosophie dont le sens est la création d'une société de l'information grâce à l'utilisation globale de produits logiciels ouverts dans toutes les sphères de l'activité humaine.

Quelle est la beauté des logiciels open source ? Selon les représentants de ce mouvement, les logiciels open source permettent de :
a) adapter le produit logiciel aux exigences d'un utilisateur ou d'un groupe d'utilisateurs spécifique ;
b) éliminer les erreurs des développeurs précédents ;
c) affiner et améliorer le produit logiciel.

En outre, les logiciels open source sont pour la plupart gratuits, ce qui est particulièrement intéressant pour les petites et moyennes entreprises qui, par exemple, ne sont actuellement pas en mesure d'obtenir des licences commerciales pour leurs produits logiciels. En outre, les partisans de l'idée du code open source soulignent sa sécurité comme un avantage des logiciels open source, c'est-à-dire que les logiciels open source, en raison de leur manque de popularité, ne sont pratiquement pas sensibles aux attaques de virus. Et si une menace est néanmoins détectée, elle est éliminée dans les plus brefs délais, car, en règle générale, de nombreux professionnels et amateurs en contact entre eux ont accès au code source. Ainsi, une menace à la sécurité, déjà détectée, est rapidement éliminée par l'un des membres de la communauté ou grâce à des efforts conjoints.

Il convient de noter que, d'un point de vue global, les logiciels open source incluent les logiciels directement open source, ainsi que d'autres types de produits logiciels qui peuvent être distribués gratuitement et fournir du code source pour apporter des modifications. Ces logiciels comprennent des logiciels gratuits et des logiciels gratuits.

Ainsi, le terme open source (logiciel ouvert) a été utilisé pour la première fois en 1998 par les programmeurs Eric Steven Raymond et Bruce Perens. Ils étaient convaincus que le terme logiciel libre en anglais est ambigu et, dans un certain sens, peut même effrayer les entrepreneurs qui sont des utilisateurs potentiels de tels logiciels. Actuellement, open source est une marque déposée de l'Open Source Initiative, une organisation qui distribue des logiciels open source. En outre, il existe également un comité spécial qui décide si la licence d'un programme particulier peut être qualifiée d'open source.

Il convient de préciser ici que la plupart des logiciels open source sont également gratuits. Les définitions des logiciels ouverts et libres, même si elles ne sont pas complètement identiques, sont proches en termes généraux, et la plupart des licences logicielles sont conformes aux deux types.

La différence entre l'open source et le logiciel libre réside dans les priorités. Par exemple, les partisans de l’open source soulignent l’efficacité de l’open source en tant que méthode de développement, de modernisation et de maintenance des programmes. Les partisans du terme « logiciel libre » estiment que ce sont les droits de distribution, de modification et d'étude libres des programmes qui constituent le principal avantage du logiciel open source gratuit, garantissant ainsi la paternité d'un produit logiciel spécifique.

Le fondateur du concept de logiciel libre est le programmeur américain Richard Matthew Stallman. C'est lui qui a formulé le premier le concept de logiciel libre, qui reflétait les principes du développement de logiciels ouverts dans la communauté scientifique qui ont émergé dans les universités américaines dans les années 1970. Stallman a formulé des critères clairs pour le logiciel libre. Ces critères précisent les droits que l'auteur d'un programme gratuit transfère à tout utilisateur. Ainsi, en utilisant un logiciel libre, l'utilisateur bénéficie des « quatre libertés » : exécuter, étudier, distribuer et améliorer le programme.

C'est-à-dire:
- "Zéro Liberté" - le programme peut être utilisé à n'importe quelle fin.
- "Première Liberté" - vous pouvez étudier le fonctionnement du programme et l'adapter à vos besoins. Une condition pour cela est la disponibilité du code source du programme.
- "Second Freedom" - vous pouvez distribuer des copies du programme - pour aider le développeur.
- "Troisième Liberté" - le programme peut être amélioré et sa version améliorée publiée afin de bénéficier à l'ensemble de la communauté. Une condition pour cela est également la disponibilité du code source du programme.

Un programme qui satisfait à tous ces principes peut être considéré comme gratuit, c'est-à-dire garanti ouvert et accessible à la communauté scientifique et simplement aux personnes et organisations intéressées. Il faut souligner que ces principes n'affectent que la disponibilité des programmes d'usage général, de critique et d'amélioration, mais ne stipulent en aucun cas les relations monétaires liées à la distribution des programmes, y compris leur caractère gratuit.

La façon dont fonctionne le logiciel libre est que le produit logiciel et son code source sont par défaut protégés par le droit d'auteur, ce qui donne au détenteur du droit d'auteur le pouvoir complet de distribuer et de modifier le programme, même lorsque le code source est accessible au public. Autrement dit, l'auteur a le droit, entre autres, de vendre son produit. Cependant, dès que les utilisateurs n'ont pas le droit d'obtenir le code source des programmes, de les modifier et de les distribuer davantage, le logiciel devient alors propriétaire - quelles que soient les autres conditions.

Quant aux conditions de distribution et d'utilisation des logiciels libres, leur copie est souvent interdite, et l'ingénierie inverse, la modification et la redistribution sont stipulées dans le contrat de licence.

Cependant, il existe des programmes qui, selon certains experts, entrent dans la définition de l'open source, mais ne sont pas gratuits. De tels programmes incluent, par exemple, UnRAR, un décompresseur d'archives RAR. Le fait est que son code source est dans le domaine public, mais la licence interdit de l'utiliser pour créer des archiveurs compatibles RAR.

Bien entendu, il est également important qu’il existe différentes catégories de logiciels open source, car ils impliquent différents degrés de liberté par rapport aux actions de l’utilisateur. Cependant, vous pouvez parfois observer une différence significative entre la définition des logiciels libres et open source. Un logiciel Open Source est une méthode de développement de logiciels dans laquelle le code source des programmes créés est ouvert, c'est-à-dire accessible au public pour visualisation et modification. Cela permet à chacun d'utiliser le code déjà créé pour ses propres besoins et, éventuellement, d'aider au développement d'un programme open source. Le logiciel libre est un droit de l'utilisateur, mais pas une obligation du fabricant, car Une licence ouverte n'exige pas que le logiciel soit toujours fourni gratuitement. Cependant, bon nombre des projets open source les plus réussis restent gratuits.

L'accès ouvert aux codes sources des programmes est également une caractéristique clé du logiciel libre, c'est pourquoi le terme « logiciel libre », proposé plus tard par Eric Raymond, semble à certains être encore plus efficace pour désigner le phénomène du logiciel libre que celui proposé. à l'époque par le logiciel libre Stallman".

Notez qu’il ne faut pas exagérer les avantages du développement gratuit pour l’utilisateur. Tous les programmes gratuits ne sont pas également disponibles pour modification par l'utilisateur, ce qui, en revanche, n'a aucun rapport avec la licence de leur distribution. Le volume du programme joue un rôle important : s'il contient des dizaines de milliers de lignes (comme, par exemple, dans OpenOffice.org - un analogue de Microsoft Office), alors même un spécialiste qualifié aura besoin de beaucoup de temps pour trouver et corrigez l'erreur. Il est également impossible de compter sur des développeurs qui répondront à tous les commentaires et suggestions de l'utilisateur et corrigeront immédiatement le programme, car ils n'ont aucune obligation envers l'utilisateur concernant la qualité du programme. À cet égard, l’utilisateur du programme breveté pourrait être dans une meilleure position.

Il convient de noter que tous les participants au processus de logiciel ouvert travaillent généralement sur un programme spécifique par intérêt ou parce que ce logiciel est pour eux un outil nécessaire pour certaines activités. Le temps consacré à la finalisation du programme n'est pas rémunéré, il n'y a donc aucun espoir que les circonstances ne changent pas et que le développement ne s'arrête pas complètement. Il existe des cas connus où le développement d'un programme a commencé grâce à un auteur enthousiaste, qui en a attiré de nombreuses personnes, puis l'enthousiasme du leader s'estompe et, avec lui, le développement de logiciels est suspendu. Malheureusement, il existe aujourd'hui des milliers de programmes gratuits qui n'ont jamais pu atteindre une version entièrement fonctionnelle. De plus, le programme peut être nécessaire, mais ne pas susciter d'intérêt, ce qui signifie qu'il n'y aura pas de développeurs gratuits pour cela.

La place du logiciel libre sur le marché actuel du logiciel est très importante, et de nombreuses entreprises commerciales et gouvernementales utilisent le logiciel libre directement ou indirectement. Par exemple, tous les internautes utilisent, bien qu'indirectement, le programme gratuit Bind, qui fournit le service DNS. De plus, de nombreuses organisations (notamment celles fournissant des services via le World Wide Web) utilisent le serveur Web gratuit Apache, dont le fonctionnement peut affecter directement le profit de l'entreprise, sans parler des serveurs sur la plateforme Linux.

Les avantages de l’utilisation de logiciels libres et open source sont évidents : en règle générale, vous n’avez pas à payer pour cela, et si vous le faites, cela coûte beaucoup moins cher que ses homologues propriétaires. Le principal inconvénient, du point de vue d'un utilisateur commercial, est que les développeurs de logiciels libres n'ont aucune obligation autre que morale. Autrement dit, ils ne sont essentiellement pas responsables de la qualité du logiciel.

Par exemple, l'une des licences publiques (GNU) contient même une formulation standard qui stipule qu'il n'y a aucune garantie : « Ce programme est fourni « tel quel ». Sauf indication contraire par écrit, l'auteur et/ou tout autre détenteur des droits d'auteur n'assume aucune responsabilité. toute garantie. obligations, expresses et implicites, concernant le programme, y compris les garanties implicites de qualité marchande et d'adéquation à un usage particulier, et toute autre garantie.

D'ailleurs, à l'heure actuelle, le système GNU, plus connu sous le nom de GNU/Linux ou simplement Linux, est assez répandu, notamment sur le marché des serveurs, et constitue un produit logiciel tout à fait complet. Il se compose d'un grand nombre de programmes du projet GNU (principalement des utilitaires système et de la chaîne d'outils GNU), du noyau Linux - la partie du système responsable de l'exécution d'autres programmes, y compris les pilotes de périphériques, etc. - et de nombreux autres programmes gratuits.

Par conséquent, il existe aujourd'hui une tendance où les grandes sociétés informatiques telles qu'Intel, Oracle ou IBM tentent de soutenir des projets de développement de logiciels libres en rémunérant le travail des employés de ces projets afin que le niveau de responsabilité des développeurs soit à un niveau élevé. Pourquoi font-ils cela, puisque les logiciels ouverts et libres sont compétitifs pour eux ? La réponse est simple : ils voient cela comme un avantage qu'ils essaient de ne pas manquer, car chaque jour apparaissent de nombreux programmes basés sur des logiciels open source, dont certains peuvent par la suite devenir de solides produits commerciaux.

Il existe aujourd'hui plusieurs licences principales utilisées pour distribuer des logiciels libres : licence publique AROS, licence BSD, CDDL, licence publique commune, licence de documentation gratuite GNU, licence publique générale GNU, licence publique générale limitée GNU, licence MIT, licence publique Mozilla. Licence Open Directory, etc. Toutes les licences libres, d'une manière ou d'une autre, se caractérisent par le respect des principes du copyleft (copyleft est un jeu de mots sur le mot copyright). Contrairement à l'approche traditionnelle du droit d'auteur, qui restreint la liberté de copier des œuvres, le principe du copyleft utilise les lois sur le droit d'auteur pour garantir qu'il est impossible de restreindre les droits de quiconque d'utiliser, de modifier et de distribuer à la fois l'œuvre elle-même et les œuvres qui en découlent. . L'idée du copyleft est que quiconque distribue un programme, avec ou sans modifications, n'a pas le droit de restreindre la liberté de sa distribution ou de sa modification ultérieure. Le copyleft garantit que chaque utilisateur est libre dans ses actions.

Le nombre de licences correspondant à la définition du concept d'open source (logiciel ouvert) est actuellement supérieur à une cinquantaine. Open Source est une marque commerciale de l'Open Source Initiative. Il existe un comité spécial qui décide si une licence peut porter le nom open source. L'un des plus grands sites Web au monde pour les développeurs de logiciels open source est le célèbre SourceForge.net. Sur ce site, les développeurs peuvent publier et collaborer sur leurs projets logiciels. Actuellement, SourceForge.net héberge plusieurs centaines de milliers de projets et le nombre d'utilisateurs enregistrés dépasse le million.

Bien entendu, l’open source et les logiciels libres attirent de plus en plus d’audience. Les programmes open source sont utilisés avec succès aussi bien par les utilisateurs privés que par les organisations commerciales, gouvernementales et publiques. Des logiciels basés sur des logiciels open source et gratuits sont déjà utilisés comme pré-installation pour certains modèles d'ordinateurs portables et de netbooks de différents fabricants. De plus, les logiciels open source conquièrent progressivement le marché des systèmes d'automatisation destinés aux petites et moyennes entreprises.

Avec l'aide de projets open source, vous pouvez améliorer vos compétences en corrigeant les erreurs des autres et en créant quelque chose de nouveau. Vous pouvez trouver un projet qui sera utile pour votre propre entreprise, par exemple en médecine ou en commerce électronique. De plus, en tant que programmeurs en exercice, l’un des meilleurs moyens de vous motiver à vous lancer dans la programmation est de travailler sur des projets open source. Spécialement pour les lecteurs du blog Geekbrains, nous avons dressé une liste de tels projets dans différents domaines d'activité :

Progiciel pour travailler avec des images médicales. 3D Slicer est disponible sur plusieurs plates-formes, notamment Windows, Linux et OS X.

Un outil qui vous permet de répartir le traitement de grandes quantités de données sur des clusters d'ordinateurs à l'aide de modèles de programmation simples.

Un progiciel populaire pour travailler avec du texte, créer des feuilles de calcul, des présentations, des graphiques, des bases de données, etc. Un processus de développement totalement ouvert signifie que n'importe qui peut signaler des bugs, demander de nouvelles fonctionnalités ou améliorer le logiciel. Il est écrit au format standard ouvert international, il accepte donc les fichiers d'autres progiciels open office.

Plateforme de gestion de contenu qui alimente des millions de sites Web et d'applications.

Un gestionnaire de médias conçu pour créer de grandes bibliothèques multimédias centralisées.

Système d'exploitation gratuit comme Unix.

Suite Office pour le développement collaboratif avec des fonctionnalités similaires à Microsoft Office ou OpenOffice.org.

Système de création de cours. Une application Web gratuite que les enseignants peuvent utiliser pour créer des sites d'enseignement en ligne efficaces. Moodle est devenu très populaire parmi les enseignants du monde entier en tant qu'outil permettant de créer des sites Web dynamiques pour leurs étudiants.

Logiciel de création et de gestion de contenu éducatif audio et vidéo.

Système de gestion de contenu d'entreprise multiplateforme écrit en Java. Fonctionne avec plusieurs bases de données (notamment MySQL, Oracle, PostgreSQL, SQLLite et autres) et prend également en charge plusieurs méthodes d'authentification.

Logiciel de création de cloud privé et public.

Le service vous permet de créer des enquêtes et de les partager avec les contacts du site. Un moyen pratique de collecter des données pour une analyse ultérieure.

Serveur DICOM pour la santé et la recherche médicale. Conçu pour faciliter la gestion des données d’imagerie médicale. Un bon outil pour automatiser les tâches d’imagerie médicale spécifiques à chaque établissement médical.

Le projet a été créé par la communauté Open Source et est conçu pour fournir de meilleures solutions aux entreprises utilisant l'analyse commerciale.
Applications principales :

  • création de rapports
  • analyse
  • Collecte de données
  • plateforme d'intelligence d'affaires

Les développeurs Java™ peuvent utiliser les composants du projet pour créer rapidement leurs propres solutions de business intelligence.

Système de gestion de données numériques open source modulaire.

Logiciel gratuit pour le commerce électronique.

Une bibliothèque pour filtrer et trier rapidement de grandes collections - jusqu'à 100 000 éléments dans le navigateur.

Langues open source

Un langage de programmation et un environnement de développement open source pour les personnes souhaitant créer des images et des animations.

R est un langage de programmation ouvert et un environnement logiciel pour les calculs statistiques et les graphiques. Le langage R est largement utilisé par les statisticiens pour développer des logiciels statistiques et analyser des données.

Où puis-je trouver plus de projets open source ?

L'un des plus grands services Web pour le développement conjoint de projets informatiques. Absolument gratuit pour les projets open source. La devise du service « Codage social » peut se traduire par « Codifier ensemble ».

Conçu pour vulgariser les projets open source. Grâce aux outils fournis, les développeurs ont créé des logiciels puissants dans plus de 430 000 projets ; la ressource compte plus de 3,7 millions d'utilisateurs enregistrés. L'annuaire populaire connecte plus de 41,8 millions de clients avec des projets open source et sert plus de 4 800 000 téléchargements par jour.

L'objectif de Fossdroid est de promouvoir les applications open source sur Android à travers le projet F-Droid. Fossdroid prend ses données de F-Droid et organise les applications dans un ordre similaire à celui de Google Play, avec la possibilité de les afficher par popularité.

Comment savoir si le logiciel est open source et quelles sont les règles de son utilisation ?

Il faut comprendre que tous les projets open source ne peuvent pas être utilisés à des fins commerciales ou librement modifiés. Pour savoir si le logiciel est open source et quelles sont les règles de son utilisation, il faut consulter sa licence. Habituellement, son texte intégral se trouve directement dans le code.

Un logiciel open source est une méthode de développement de logiciels dans laquelle le code source des programmes créé est ouvert, c'est-à-dire accessible au public pour visualisation et modification. Cela permet à chacun d'utiliser le code déjà créé pour ses propres besoins et, éventuellement, d'aider au développement d'un programme open source.

Une licence « ouverte » n'exige pas que le logiciel soit fourni gratuitement à tout moment. Mais bon nombre des projets de logiciels open source les plus réussis restent gratuits.

La grande majorité ouvrir les programmes sont simultanément gratuit(GNU GPL) et vice versa, car les définitions des logiciels ouverts et libres sont similaires et la plupart des licences respectent les deux.

Différence entre les mouvements source ouverte Et logiciel gratuit réside principalement dans les priorités. Les partisans des logiciels open source soulignent efficacité des codes open source programmes comme méthode de développement. Les partisans du logiciel libre se fondent sur des considérations idéologiques et estiment qu'il est droits la distribution, la modification et l'étude des programmes sont le principal avantage logiciel gratuit.

Système d'exploitation Microsoft Windows

Riz. 39. Logo OC Windows.

MS Windows (prononcé Vindouz) est une famille de systèmes d'exploitation de Microsoft (Microsoft). Directeur de Microsoft Corporation - Bill Gates.

Depuis 1995, Windows est le système d'exploitation le plus populaire sur le marché des ordinateurs personnels - le standard de facto. En 2005, Microsoft Windows était installé sur plus de 89 % des ordinateurs personnels.

Cependant, de nombreux utilisateurs ont choisi le système d'exploitation Windows car ils ne connaissent pas du tout les alternatives telles que MacOS, Linux, BSD. En Russie, jusqu'au début des années 2000, presque tous les ordinateurs personnels étaient vendus avec le système d'exploitation Windows préinstallé. La lutte contre la diffusion de versions piratées de produits logiciels a conduit à l'émergence d'un intérêt pour d'autres systèmes d'exploitation. Par exemple, il est devenu possible d'acheter un ordinateur personnel avec système d'exploitation Linux gratuit.

Chronologie de sortie des versions Windows


Windows 1.0 (1985)

1. Windows 2.0 (1987)

2. Windows/386 (1987)

3. Windows 3.0 (1990)

4. Windows 3.1 (1992)

5. Windows NT 3.1 (1993)

6. Windows NT 3.5 (1994)

7. Windows 95 (1995)

8. Windows NT 4.0 (1996)

9. Windows 98 (1998)

10. Windows 2000 (2000)

11. Windows Moi (2000)

12. Windows XP (2001)

13. Windows 2003 (2003)

14. Windows Vista (2007)

15. Titre de travail Windows Vienne (2010)


Produits logiciels intégrés et logiciels d'application

Le système d'exploitation Microsoft Windows comprend des applications standard telles que Navigateur Internet Explorer, Client de messagerie Outlook Express, Lecteur Windows Media.

Il y a eu beaucoup de controverses et de débats autour de l'inclusion de ces produits standards dans le système d'exploitation Windows, car cela constitue un obstacle sérieux à l'adoption de produits concurrents.

Riz. 40. Logo du package MS Office.

Pour MS Windows, il existe un outil très pratique et maîtrisé par la plupart des utilisateurs Progiciel Microsoft Office, y compris:

Traitement de texte MS Word,

Processeur de table MS Excel,

Organisateur MS Outlook,

Application à la préparation de présentations MS PowerPoint,

Application de gestion de base de données Accès MS.

N'oubliez pas que le système d'exploitation Windows et la grande majorité des programmes d'application populaires pour Windows disposent d'une licence de droit d'auteur, c'est-à-dire sont propriétaire PAR. En conséquence, chaque copie d'un tel programme doit être achetée contre de l'argent. Par exemple, fin 2006, le prix de Windows XP Home Edition Russian BOX (SP2) était de 185 $, celui du CD russe d'Office 2003 était de 322 $.

En utilisant un logiciel sans licence (piraté) protégé par une licence de droit d'auteur, vous violez les lois sur le droit d'auteur.

Système d'exploitation GNU/Linux

Riz. 41. Logo du système d'exploitation GNU/Linux – Pingouin Tux.

Le système d'exploitation GNU/Linux (prononcé « gnu Linux ») est un système d'exploitation libre de type UNIX. Généralement, pour des raisons historiques et par souci de concision, ce système est simplement appelé « Linux ». Il s'agit de l'alternative la plus puissante à MS Windows, populaire en tant que serveur et qui gagne rapidement en popularité en tant que système d'exploitation de bureau ces dernières années, en raison du contrôle accru de la conformité à l'utilisation sous licence du système d'exploitation Windows par Microsoft dans les versions XP et Vista.

Le système d'exploitation GNU/Linux comprend également souvent des programmes qui complètent ce système d'exploitation et des programmes d'application qui en font un environnement d'exploitation multifonctionnel à part entière.

Contrairement à la plupart des autres systèmes d'exploitation, GNU/Linux ne dispose pas d'un seul paquet « officiel ». Au lieu de cela, GNU/Linux se décline en un grand nombre de ce qu'on appelle distributions, dans lequel les programmes GNU sont combinés avec le noyau Linux et d'autres programmes. Les distributions les plus courantes dans le monde :

Américain Chapeau rouge et son héritier Noyau Fedora;

Allemand SUSE;

Français Mandriva(ancien Mandragore);

Distribution internationale non nationale Debian GNU/Linux;

Une des distributions les plus anciennes Slackware;

Une distribution relativement jeune et en plein développement Gentoo;

Une distribution jeune mais prometteuse Ubuntu-Linux.

Créateur du noyau Linux - Linus Torvalds. GNU/Linux n'a pas de centre de développement géographique. Aucune organisation n’est propriétaire de ce système ; Il n’existe même pas un seul centre de coordination. Les programmes pour GNU/Linux sont le résultat du travail de milliers de projets. Certains de ces projets sont centralisés, d'autres concentrés dans des entreprises, mais la plupart rassemblent des programmeurs du monde entier qui ne se connaissent que par correspondance. N'importe qui peut créer son propre projet ou rejoindre un projet existant et, en cas de succès, les résultats du travail seront connus de millions d'utilisateurs. Les utilisateurs participent aux tests de logiciels libres et communiquent directement avec les développeurs, ce qui leur permet de trouver et de corriger rapidement les erreurs et d'implémenter de nouvelles fonctionnalités.

Linux occupe déjà environ 30 % du marché australien des systèmes d'exploitation pour serveurs. Les Australiens furent suivis par les Brésiliens. Le gouvernement brésilien a décidé d'arrêter de dépenser de l'argent en logiciels et de passer des produits Microsoft aux systèmes open source, en particulier le système d'exploitation Linux. La principale raison de ces changements est économique. Dans notre pays, le marché Linux est encore petit.

Système de fichiers

Toutes les informations sur l'ordinateur sont stockées dans des fichiers avec lesquels le système d'exploitation fonctionne.

Déposer(déposer) - c'est une séquence nommée d'octets, un lieu de stockage permanent de divers types d'informations.

Les fichiers sont organisés en catalogues,également appelés répertoires ou dossiers. Catalogue est un fichier qui stocke des informations sur d'autres fichiers : nom, taille, date de création, adresse du fichier sur le disque.

N'importe quel répertoire peut contenir n'importe quel numéro sous-répertoires, dont chacun peut stocker des fichiers et d’autres répertoires.

Chaque disque possède un maître ou répertoire racine, qui contient tous les autres répertoires, appelés sous-répertoires, ainsi que certains fichiers. Ainsi, il est créé structure hiérarchique. Le répertoire avec lequel l'utilisateur travaille actuellement s'appelle actuel.

Les fichiers et répertoires sont les objets les plus importants du système de fichiers. Système de fichiers- les réglementations qui déterminent le mode d'organisation, de stockage et de dénomination des données sur les supports. Il définit le format de stockage physique des fichiers. Un système de fichiers spécifique détermine la taille du nom de fichier, la taille maximale possible du fichier et un ensemble d'attributs de fichier.

La façon dont les données sont organisées en octets est appelée format de fichier. Pour lire un fichier, tel qu'une feuille de calcul, vous devez savoir comment les octets représentent les nombres (formules, texte) dans chaque cellule ; Pour lire un fichier d'éditeur de texte, vous devez savoir quels octets représentent des caractères, quelles polices ou champs, ainsi que d'autres informations.

Tous les fichiers peuvent être divisés en deux parties - texte Et binaire.

Fichiers texte- le type de données le plus courant dans le monde informatique. Un octet est le plus souvent alloué pour stocker chaque caractère et les fichiers texte sont codés à l'aide de tables de codage spéciales.

Mais les fichiers texte purs deviennent de plus en plus rares. Les gens souhaitent que les documents contiennent des images et des diagrammes et utilisent une variété de polices. En conséquence, des formats apparaissent qui sont diverses combinaisons de texte, de graphiques et d'autres formes de données.

Fichiers binaires, contrairement aux textes, ils ne sont pas si faciles à visualiser et, en règle générale, ils ne contiennent pas de mots qui nous sont familiers - seulement de nombreux symboles incompréhensibles. Ces fichiers ne sont pas destinés à être lus directement par des humains. Des exemples de fichiers binaires sont les programmes exécutables et les fichiers graphiques.

Chaque fichier sur le disque a une désignation ( nom et prénom), qui se compose de 2 parties : nom Et extensions, séparés par un point.

Extension du nom de fichier- une séquence facultative de caractères ajoutée au nom du fichier et destinée à identifier le type (format) du fichier. C'est l'un des moyens courants par lesquels un utilisateur ou un logiciel informatique peut déterminer le type de données stockées dans un fichier.

Dans les premiers systèmes d'exploitation, la longueur de l'extension était limitée à trois caractères ; dans les systèmes d'exploitation modernes, cette limitation n'est pas présente.

Le système d'exploitation ou le gestionnaire de fichiers peut créer des mappages entre les extensions de fichiers et les applications.

Lorsqu'un utilisateur ouvre un fichier avec une extension enregistrée, le programme correspondant à cette extension est automatiquement lancé. Certaines extensions indiquent que le fichier lui-même est un programme. Souvent, l'extension du fichier est affichée à l'utilisateur par une icône.

Pilotes

De nombreux appareils peuvent être interfacés avec un PC : carte vidéo, carte son, imprimante, scanner, périphériques de pointage, lecteurs de disque, appareils photo numériques, téléphones portables... Chacun d'eux possède son propre jeu de commandes - son propre « langage » . Pour qu'un système d'exploitation spécifique puisse contrôler un appareil spécifique, ils ont recours à des programmes « traducteurs » qui connaissent, d'une part, la langue de commande d'un appareil spécifique et, d'autre part, la langue de l'utilisateur spécifique. système dans lequel cet appareil doit fonctionner.

Ce programme s'appelle conducteur(pilote) et est fourni avec l'appareil par son fabricant. En règle générale, les fabricants de matériel publient également sur leurs sites Web les pilotes des appareils qu'ils créent.



Des questions ?

Signaler une faute de frappe

Texte qui sera envoyé à nos rédacteurs :