L’Open Source rend cela possible. Logiciels open source. Qu'est-ce que l'Open Source

Marc Roberts
Directeur, gestion des produits
Systèmes logiciels QNX
e-mail: [email protégé]

annotation

Cet article se concentre sur les avantages, les considérations stratégiques, les obstacles et les opportunités associés à l'utilisation de logiciels open source dans des produits commerciaux. En utilisant l'environnement de développement intégré (IDE) basé sur Eclipse comme exemple, nous discuterons des différences entre les licences de code source de logiciel protectrices et non protectrices. Lors de l'intégration ou de la liaison d'un code open source avec un code source fermé « propriétaire », une attention particulière est souvent requise. Il existe également diverses questions juridiques dont il faut être conscient, telles que le potentiel de contrefaçon de brevet. Nous tenterons également d'expliquer pourquoi les principes de base des logiciels open source dans l'environnement des technologies de l'information (TI) ne s'appliquent pas aux produits commerciaux embarqués.

L'environnement de développement QNX Momentics comme exemple d'utilisation de logiciels open source

En 2001, alors que de nombreuses entreprises de logiciels luttaient pour survivre face à l'effondrement général du marché boursier informatique, en particulier ceux liés au commerce électronique sur Internet, QNX Software Systems a pris la décision stratégique de commencer à développer un nouvel environnement de développement intégré (IDE). pour le marché des systèmes embarqués. L'entreprise possédait déjà une solide expérience dans le développement d'une série d'outils utilisés dans le développement de dispositifs embarqués, mais la direction de l'entreprise s'est rendu compte que la création d'un IDE l'aiderait à garder une longueur d'avance sur une concurrence féroce. La décision de créer un IDE a également été motivée par l'évolution des exigences des clients. Durant le ralentissement de l'activité commerciale, les clients à court de liquidités se sont montrés davantage intéressés par des solutions susceptibles de maximiser leur productivité et de les rendre plus mobiles (flexibles) dans l'exécution de leur travail, ce qui améliorerait l'efficacité économique globale.

Pour QNX, le développement de l'EDI était un « pari sur l'avenir » car le coût et les efforts de développement du projet étaient hors de portée de la plupart des fournisseurs d'outils de systèmes embarqués à l'époque. Heureusement, QNX a travaillé en étroite collaboration avec IBM sur différents segments du marché de l'embarqué. Grâce à une étroite collaboration, IBM a partagé avec QNX son projet de publier un environnement de développement intégré open source qui deviendra plus tard la base de la plateforme Eclipse.

IBM a proposé d'utiliser l'expertise de QNX pour adapter la technologie IDE aux besoins des développeurs créant des applications embarquées basées sur le langage C/C++. Les experts de QNX ont presque immédiatement souligné les avantages incontestables de l'utilisation d'un IDE open source. Par exemple, pour un tel environnement, il serait possible de :

  • éliminer la dépendance à l'égard d'un seul fournisseur, qui est généralement associée à la nécessité d'obtenir une licence pour une plate-forme Windows ;
  • proposer un code de programme source pour une personnalisation selon les besoins du client ;
  • attirer des acteurs industriels sérieux pour apporter leur soutien et créer un écosystème de technologies et de plug-ins complémentaires ;
  • fournir aux clients une architecture stable capable de prendre en charge la différenciation des produits ;
  • permettre aux développeurs de périphériques embarqués d'utiliser des postes de travail standard comme plate-forme de développement, adaptée au travail avec des applications informatiques (dans une large gamme d'applications).

Enfin, il y avait une possibilité distincte que la plate-forme IDE puisse gagner en popularité et devenir un standard de facto, permettant à QNX de conquérir le marché de vastes écosystèmes de développeurs et d'outils tiers via une telle plate-forme.

Création du projet open source Eclipse.org

En novembre 2001, Borland, IBM, Merant, QNX Software Systems, Red Hat et SUSE ont fondé le Consortium Eclipse. Début 2004, le Conseil d'administration a réorganisé le Consortium Eclipse en une société à but non lucratif appelée Fondation Eclipse.

Dès le début, Eclipse était un projet véritablement open source. Le projet offrait à la fois des technologies open source gratuites et un accès à une communauté de développeurs les plus instruits et avancés dans leur domaine. Ainsi, cette technologie s’est avérée être une plateforme universelle permettant d’intégrer tous types d’outils de développement. Il est basé sur une architecture ouverte et extensible et est clairement sous licence en tant que produit gratuit et libre de droits. Les contributions de la communauté au projet Eclipse sont basées sur le modèle de développement standard de logiciels Open Source (OSS), mais la plupart des membres contribuent également à des développements commerciaux basés sur la plateforme Eclipse.

Projet de référentiel d'outils

En décembre 2001, QNX a commencé à construire son RTOS QNX® Neutrino®, basé sur l'IDE de la plateforme Eclipse. Dans la vision de l'entreprise, l'IDE était censé avoir de plus grandes fonctionnalités, se concentrer sur le travail avec les langages C/C++ et disposer d'outils profondément intégrés pour le débogage, le profilage, l'analyse et la création d'applications embarquées. Dès le début, l'équipe QNX l'a envisagé comme un IDE polyvalent et multilingue prenant en charge plusieurs plates-formes d'outils. Cela comprenait :

  • plusieurs plateformes d'outils : Windows, Solaris, QNX Neutrino RTOS (développement auto-hébergé) ;
  • plusieurs architectures cibles : ARM, MIPS, PowerPC, SH-4, x86 ;
  • langages de programmation C, C++, Java.

Depuis lors, l'EDI a continué de croître pour inclure la prise en charge de la plate-forme Linux et la prise en charge d'architectures de processeur supplémentaires, notamment les processeurs XScale.

Le projet a été lancé dans le style de la « programmation extrême ». Une équipe de 12 meilleurs ingénieurs a été sélectionnée dans l'entreprise. On leur a attribué une chambre spéciale, ils ont été isolés de toute distraction, le projet leur a été entièrement confié.

L'équipe a reçu l'autorité décisionnelle nécessaire et s'est vu confier un calendrier de travail serré et à haut risque pour publier la version bêta du produit en 16 semaines et la version commerciale avant le 4 juillet 2002. Le groupe a respecté tous les délais fixés. et a lancé un nouveau produit - appelé QNX Momentics® IDE - dans les délais prévus, démontrant le potentiel des logiciels open source pour réduire les délais de commercialisation.

De l'idée à la livraison du produit - moins de 7 mois

En s'appuyant sur la plateforme Eclipse, l'équipe QNX a réalisé en six mois un IDE très puissant et complet pour le développement de logiciels embarqués. L'IDE prenait en charge le développement multiplateforme pour plusieurs plates-formes d'outils et plusieurs langages de programmation, et prenait également en charge les cartes processeurs les plus populaires pour les périphériques cibles intégrés. Grâce à la plateforme Eclipse, QNX a pu :

  • utiliser les compilateurs GNU et les outils de ligne de commande pour le développement croisé ;
  • fournir une prise en charge de plug-ins tiers, tels qu'IBM WebSphere pour les applications Java intégrées et Rational ClearCase pour le développement piloté par modèle ;
  • créer des outils supplémentaires pour créer des systèmes, gérer les appareils cibles, analyser la mémoire, profiler les systèmes et les applications, etc.

En figue. La figure 1 montre comment l'utilisation de la plateforme Eclipse réduit le coût de création d'un IDE, ce qui permet aux entreprises de concentrer leur attention sur les niveaux supérieurs de développement, là où les véritables innovations sont créées. Par exemple, en utilisant la plateforme Eclipse, QNX a pu créer facilement plusieurs outils de visualisation innovants capables d'approfondir un système embarqué et de montrer son comportement.

Redonner à la communauté

La force d’un projet open source réussi réside dans la collaboration de la communauté des développeurs et l’amélioration constante de la base de code. Si une entreprise adopte et fait bon usage du code open source, elle a alors simplement l’obligation de contribuer à la communauté. À cette fin, QNX a pris la direction du projet Eclipse CDT en juin 2002.

L'objectif du projet Eclipse CDT (C/C++ Development Tools) est de créer un ensemble commun d'outils de langage C/C++ interopérables pour la plateforme Eclipse. Eclipse CDT a été positionné comme un projet open source, avec des droits de gestion d'Eclipse Corporation. Pour lancer le projet CDT, QNX a fait don de ses ressources de développement et de son code source au projet QNX Momentics IDE. Rational et Red Hat, en tant que membres de la communauté, ont également apporté un soutien important au projet.

Riz. 1. En utilisant la plateforme Eclipse, les fournisseurs d'outils peuvent concentrer leur attention sur le niveau supérieur de la pile de travail, là où la véritable innovation est créée.

QNX continue de maintenir le projet CDT, qui est passé d'un modeste 80 000 lignes de code à aujourd'hui plus de 700 000 lignes de code. Début 2006, le journal d'avancement du projet Eclipse CDT estimait la contribution de QNX à 52 %. Venait ensuite IBM avec une contribution de 36%. Le projet CDT est le deuxième projet le plus populaire de la société Eclipse après la plateforme Eclipse elle-même.

Pouvez-vous vous permettre de « faire don » du code ?

Il peut sembler que « faire don » de votre code signifie agir contrairement au bon sens. Cependant, si les fonctionnalités de votre produit s'avèrent utiles, pourquoi ne pas les contribuer à la communauté open source. En franchissant cette étape, vous pouvez bénéficier de cette offre d'implémentation « standard » ainsi que de l'utilisation de l'expertise du support produit. Vous pourrez bénéficier du travail de toute la communauté visant à améliorer la base de code. Cette stratégie peut libérer vos propres ressources pour mener des recherches supplémentaires axées sur des développements innovants afin d'ajouter des fonctionnalités supplémentaires à vos produits.

De plus, vous pourriez obtenir un certain contrôle sur la direction de la plateforme « standard » - gagné, bien sûr, grâce à vos services à la communauté ! Si vous maintenez un projet, comportez-vous en bon citoyen de la communauté, respectez les opinions des autres et valorisez les commentaires et les conseils des autres membres. Ne pensez pas que quelqu'un essaiera de « faire vos poches » suite à l'utilisation du code et prendra votre leadership sur la direction du développement de la plateforme.

Par exemple, la stratégie de QNX Software Systems est de tirer parti de sa participation dans Eclipse tout en développant de nouvelles fonctionnalités grâce à des points d'extension standardisés déjà disponibles dans les plateformes Eclipse et CDT. À cette fin, QNX entend rester un membre actif de la communauté Eclipse, bénéficiant de la base de code existante et des travaux de tiers (plug-ins) pour aider à répondre aux besoins réels des clients en créant ses propres extensions propriétaires. La stratégie décrite est illustrée sur la Fig. 2.

Riz. 2. Vous pouvez contribuer au travail de la communauté avec votre travail.

Résumé des avantages

La plate-forme d'outils basée sur Eclipse est une solution gagnant-gagnant pour les développeurs d'applications tels que QNX et les clients qui achètent des outils de plate-forme.

L'avantage pour les développeurs est la réduction du temps nécessaire pour commercialiser leurs produits et la possibilité de bénéficier des recherches d'autres personnes (à faible coût). Ces résultats peuvent inclure du code de haute qualité classé comme « IP propre » provenant d'entreprises réputées telles qu'IBM et QNX. Un autre avantage pour le développeur est qu'il bénéficie d'un système de licence simple et clair, comprenant des droits commerciaux et une certaine protection par brevet. De plus, le développeur a la possibilité de travailler sur plusieurs plates-formes de système d'exploitation prises en charge dans Eclipse et dispose également de points d'extension bien définis dans le projet Eclipse.

Les clients qui achètent un IDE basé sur Eclipse bénéficient d'une plate-forme d'outils conçue pour le développement d'applications embarquées, avec une solide prise en charge de la compilation croisée, un débogage facile et des extensions pour gérer les systèmes cibles. L'équipe de développement du client appréciera les nombreuses fonctionnalités qui facilitent le travail, le temps de formation court requis, les bonnes performances du produit et une plateforme robuste capable de gérer de grands projets. Les clients peuvent également bénéficier de l'utilisation de la plateforme Eclipse dans leurs propres applications (par exemple RCP, eRCP, etc.).

L'avenir d'Eclipse Corporation

Eclipse Corporation est une communauté active et dynamique. Elle introduit continuellement de nouveaux projets, met de nouvelles architectures à la disposition des entreprises établies et innovantes, et même les petites entreprises peuvent bénéficier commercialement de la plateforme Eclipse en créant de manière rentable de nouveaux plug-ins qui étendent les fonctionnalités existantes (voir Figure 3).

Riz. 3. Eclipse Corporation est une communauté dynamique et en croissance rapide de développeurs de plug-ins.

Comparatif des licences open source

Toutes les licences de logiciels open source ne sont pas égales. QNX a fait un choix intelligent en optant pour la licence publique Eclipse. Ce choix a été motivé en partie par les besoins de ses clients embarqués et en partie par la volonté de contrôler (et de bénéficier de) la technologie qui différencie ses produits.

L'Open Source Initiative (), une organisation à but non lucratif, a proposé une définition utile en 10 points de l'open source. Il existe actuellement plus de 50 licences approuvées OSI disponibles sur le site Web, y compris la licence publique Eclipse. Ces licences peuvent contenir des différences significatives dont vous devez être conscient. Ces différences peuvent avoir un impact significatif sur la propriété intellectuelle (PI) des développeurs et sur leur capacité à la protéger. Ceci est particulièrement pertinent lors de l’utilisation de code open source (ou de dérivés open source) dans des appareils embarqués.

Licence défensive et non défensive

Aux termes d'une licence protectrice, telle que GPL v2, une œuvre dérivée ne peut être distribuée qu'avec le code source correspondant. La licence de sécurité garantit que lorsque le code source est rendu open source, il le restera dans toutes les générations suivantes et dans toutes les œuvres dérivées. Comme nous l'expliquerons plus tard, cette exigence entraîne certains problèmes dans le cas des systèmes embarqués.

Des exemples de licences non défensives sont les licences originales MIT et BSD. Les licences non défensives préservent le droit d'auteur du propriétaire mais accordent des droits étendus à l'utilisateur, y compris le droit de modifier et de distribuer gratuitement (ou d'utiliser à des fins personnelles) le logiciel sans restriction.

Qu'entend-on par "licence antivirus"

Certaines personnes appellent la GPL une « licence antivirus ». Ce nom est né de l'incertitude de la définition juridique de la notion de « développement dérivé ». Une interprétation stricte de la définition signifie que si même un petit morceau de code sous licence GPL est intégré dans une application propriétaire, alors l'application entière doit être sous licence GPL. L’analogie avec un virus vient immédiatement à l’esprit.

Questions sur l'indemnisation

Récemment, l'indemnisation IP (IP Indemnification) est devenue un sujet de discussion majeur pour les développeurs. En réponse, certains fournisseurs open source ont annoncé qu'ils protégeraient leurs clients contre les poursuites liées à la violation de brevets ou de droits d'auteur. Et les dernières licences open source prévoient des sanctions pour les utilisateurs qui tentent de faire valoir leurs droits de brevet contre d'autres utilisateurs de la base de code.

Les principaux problèmes rencontrés lors de la commercialisation de logiciels open source

Comparaison des applications embarquées et informatiques

Le succès de l'industrie open source a été alimenté par l'adoption de Linux par les organisations informatiques. Les avantages de l'utilisation de Linux provenaient du fait qu'il fonctionnait sur un matériel relativement homogène et stable (généralement la famille x86) et de l'utilisation d'une plate-forme informatique flexible et riche en ressources.

Avec les logiciels embarqués, les choses sont complètement différentes. Ce logiciel fonctionne sur un grand nombre d’appareils dotés d’un ensemble fixe de fonctions, tout en utilisant une large gamme de matériels avec des architectures différentes. Les développeurs d'appareils embarqués fondent souvent leur avantage concurrentiel sur un ensemble de fonctionnalités spécifiques, la taille, les performances, le coût, la durée de vie de la batterie, la fiabilité, l'interopérabilité et l'évolutivité. Ces fonctionnalités distinctives sont généralement implémentées dans des logiciels de bas niveau, ce qui, dans le cas de Linux, nécessite une liaison directe avec le noyau du système d'exploitation. La personnalisation des logiciels de bas niveau pour répondre aux besoins des clients est la norme, et non l'exception, c'est pourquoi les développeurs obtiennent souvent les fonctionnalités dont ils ont besoin en modifiant le noyau du système d'exploitation. La méthode de liaison directe par intégration dans des fragments de code est également utilisée afin de réduire le coût de création de bibliothèques. Ces pratiques, prises ensemble, rendent très difficile la protection du code propriétaire sous des licences telles que la GPL.

Généralement, ces problèmes de licence n'affectent pas les applications informatiques, dans la mesure où les logiciels propriétaires spécifiques à l'entreprise ne s'étendent pas au-delà de l'entreprise, étant utilisés uniquement pour les besoins internes. Dans le cas des appareils embarqués, les logiciels dérivés sont toujours distribués par leur intermédiaire, sous réserve de la clause « force open » des licences open source, qui peut mettre en péril les principaux aspects des offres open source de valeur.

De plus, les produits intégrés ont souvent une longue durée de vie, tant pendant la production que pendant l'utilisation. Un produit intégré soumis aux conditions open source est soumis à des risques plus importants, notamment le manque de support technique à long terme, des problèmes de sécurité potentiels et des violations de propriété intellectuelle.

Problèmes de licence

Statut juridique incertain

Malgré les paroles rassurantes des partisans de certaines licences open source, bon nombre des questions clés qui préoccupent les développeurs de systèmes embarqués n'ont pas encore été largement testées dans la jurisprudence. Comme mentionné, la définition du « travail dérivé » est essentielle pour garantir le respect de certaines clauses de licence, même si de nombreuses personnes et organisations acceptant les termes open source comprennent peu ce concept ou l'ignorent volontairement.

Certaines solutions de contournement qui permettent aux fournisseurs de produits commerciaux d'introduire des pilotes « propriétaires » dans Linux (tels que les modules de noyau chargeables) reposent davantage sur des arguments « dit-il, a-t-elle dit » que sur une référence directe au texte du contrat de licence. En fait, les pilotes qui utilisent des modules LKM se heurtent à de dangereux contournements des exigences de la licence GPL. Pour aller jusqu'à l'extrême, on pourrait interpréter l'affaire comme disant que la base de code Linux peut être présentée comme inutile pour la plupart des applications pratiques à moins qu'elle n'inclue certains de ces pilotes propriétaires. Cette situation peut très efficacement dévaloriser l’idée de la licence GPL.

Aucune compensation pour violation de la propriété intellectuelle

Dans la plupart des cas d'utilisation de logiciels open source, il existe une possibilité réelle que vous enfreigniez par inadvertance les droits de brevet de quelqu'un d'autre. Peu de licences open source font explicitement référence aux brevets, et les licences implicites ne peuvent pas être jugées. Vous devez obtenir une licence distincte pour tous les brevets couvrant, par exemple, les codecs open source qui implémentent des algorithmes MP3 ou d'autres solutions propriétaires. Pendant ce temps, les « mauvais garçons » (y compris Microsoft) sont préoccupés par la création d’un portefeuille de brevets qui, selon de nombreux experts, peuvent être utilisés pour « tirer » sur les partisans de l’open source.

Certaines licences contiennent des références explicites aux brevets. Par exemple, la licence publique Eclipse mentionne explicitement les droits de brevet et contient une clause sur les sanctions si quelqu'un tente de faire valoir ses droits de brevet d'une manière différente. Eclipse consacre également beaucoup d'efforts à l'examen du code et à la détermination de sa source du point de vue des licences, des brevets ou des droits d'auteur.

Effort supplémentaire pour préserver la propriété intellectuelle

Pour utiliser du code open source, une entreprise doit déployer des efforts importants dans les domaines suivants :

  • gestion de la distribution des produits ;
  • gestion des licences ;
  • résolution de conflits juridiques concernant les obligations des clients ;
  • Accorder une attention particulière aux questions juridiques : maintenir la pureté des droits de propriété intellectuelle, vérifier les droits de propriété intellectuelle pour le code open source, identifier la source d'origine du code, suivre les modifications des versions de licence, telles que GPL v3, etc.

Accepter les exigences du client

Certains grands clients, confrontés à la complexité et à l'incertitude des logiciels open source, ont refusé de traiter avec des produits incluant du code open source. Si vous souhaitez travailler avec de tels clients, vous devez les obtenir ou les inviter à inclure les termes de la licence commerciale pour votre code.

Problèmes de propriété intellectuelle

Les termes de votre licence open source couvrent-ils la propriété intellectuelle qui rend votre produit différent ? Si tel est le cas, votre adresse IP est en danger.

Si vos systèmes embarqués utilisent un mélange de vos propres logiciels et de logiciels open source, vous devez comprendre la nature, les origines et les relations de tous les composants du logiciel embarqué. Sans cette compréhension approfondie du sujet, vous pourriez par inadvertance porter atteinte à la propriété intellectuelle de quelqu'un d'autre ou même perdre les droits sur votre propre logiciel.

Sans licences de brevet ni compensation, la longue durée de vie des logiciels des systèmes embarqués, leur prix de vente relativement élevé et le volume des ventes d'appareils embarqués à fonctionnalités fixes en font une cible évidente pour les réclamations en violation de brevet de la part des mauvais garçons et des principaux concurrents susmentionnés.

Comme le démontre l'IDE QNX Momentics, les logiciels open source présentent de nombreux avantages immédiats, notamment une réduction des délais de commercialisation, des coûts de développement réduits et une plus grande liberté pour ajouter des fonctionnalités et des innovations supplémentaires à votre produit. Si vous proposez votre logiciel en tant que service qui résout un problème client, alors le client ne se soucie pas de savoir si vous avez utilisé ou non un logiciel open source, il paie simplement pour la fonction dont il a besoin.

Cependant, vous devez comprendre les différences entre les différentes licences open source et choisir celle qui convient à votre application et aux besoins de vos clients. De plus, soyez prêt à respecter les obligations de licence du logiciel que vous choisissez. Vous devez être conscient des autres exigences en matière de propriété intellectuelle (telles que les droits de brevet) associées au code logiciel. Méfiez-vous d'une base de code qui n'affiche pas de message sur les conséquences d'une violation de la propriété intellectuelle. Recherchez des projets qui offrent une compensation pour d'éventuels dommages et où un message à l'écran est affiché concernant les dons monétaires pour le développement de code afin de compenser les coûts associés à la violation du droit d'auteur ou du brevet, etc. Assurez-vous également que le logiciel open source que vous utilisez est conforme à vos politiques de propriété intellectuelle et évitez les licences protectrices qui pourraient vous obliger à révéler des éléments distinctifs de votre code. Si votre produit est intégré au système, envisagez également de proposer des conditions de licence commerciale pour votre propriété intellectuelle.

L'utilisation de code open source dans des appareils embarqués entraîne des problèmes plus complexes que dans le cas de l'utilisation de tels logiciels dans des applications informatiques, car la première option est plus dangereuse. Avant de décider d'utiliser un logiciel open source, tenez compte de son véritable coût de possession (TTCO) et de son adéquation à votre projet.

Enfin, rejoignez la communauté open source d’utilisateurs et de développeurs pour en tirer le meilleur parti !

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 pour leurs produits logiciels commerciaux. 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 à 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 à titre 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 Stallman. logiciel libre".

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. La taille 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 à 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) a 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 pas toute garantie, toute obligation, expresse et implicite, en ce qui concerne 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.

Un logiciel open source (OSS) est un logiciel informatique distribué avec son code source disponible pour modification. Généralement, le logiciel inclut une licence permettant aux programmeurs de modifier le logiciel de quelque manière que ce soit. Ils peuvent corriger des bugs, améliorer des fonctionnalités ou adapter le logiciel à leurs besoins. L'Open Source Initiative (OSI) est l'organisme leader dans le domaine des logiciels libres ; leur définition du logiciel open source répond aux règles selon 10 critères.

Ceux-ci inclus:

  • Distribution de logiciels
  • Disponibilité du code source
  • Distribution de licences
  • Propriétés de la licence
  • Anti-discrimination

Licences

Différentes licences permettent aux programmeurs de modifier le logiciel dans différentes conditions. OSI approuve les licences qui répondent à leur définition de logiciel open source. 5 des licences les plus populaires selon la base de connaissances Black Duck :

  1. Licence MIT
  2. Licence publique générale GNU (GPL) 2.0
  3. Licence Apache 2.0
  4. Licence publique générale GNU (GPL) 3.0
  5. Licence BSD 2.0 (3 clauses, nouvelle ou révisée)

Lorsque vous modifiez le code source, l'une des exigences du logiciel libre est d'inclure ce que vous avez modifié ainsi que vos méthodes. Le logiciel créé après modification du code peut être un freeware ou un freeware.

Différence entre les logiciels open source et commerciaux

Les logiciels disponibles dans le commerce ou les logiciels propriétaires ne donnent pas accès à leur code source car le logiciel est la propriété intellectuelle de quelqu'un d'autre.

En conséquence, les utilisateurs paient souvent pour cela.

Les logiciels libres, en revanche, sont le fruit d'un effort collaboratif : le logiciel est une propriété intellectuelle partagée par tous ceux qui ont contribué à son développement ou à sa modification.

Logiciels Open Source vs. Logiciel gratuit

Contrairement à la croyance populaire, aucun d’entre eux ne se concentre sur le coût ou les inconvénients de ces programmes.

L'Open Source implique la disponibilité gratuite du code source et de sa distribution. De la même manière, le logiciel libre implique une modification du code, mais souligne que les utilisateurs qui aiment le logiciel libre aiment faire ce qu'ils veulent. La Free Software Foundation définit 4 conditions pour qu’un logiciel soit considéré comme totalement libre.

De plus, le logiciel peut être classé comme logiciel gratuit. Cela signifie que les utilisateurs téléchargent le logiciel gratuitement, mais ne peuvent apporter aucune modification à son code source.

Avantages des logiciels Open Source

Bien que le coût soit le facteur déterminant, les logiciels libres présentent plusieurs avantages supplémentaires :

  • Résultats de haute qualité lorsque le code source est partagé, testé et corrigé.
  • Il s'agit d'une opportunité de formation précieuse pour les programmeurs. Ils peuvent acquérir et appliquer leurs compétences aux programmes les plus populaires disponibles aujourd’hui.
  • De nombreuses personnes considèrent que les logiciels open source sont plus sécurisés que les logiciels propriétaires, car les bogues sont identifiés et corrigés rapidement.
  • Étant donné que les logiciels open source appartiennent au domaine public, il y a peu de chances qu’ils deviennent indisponibles. Ceci est important pour les projets à long terme qui s'appuient sur ces outils pendant toute la durée du projet.
  • La plupart des logiciels sont gratuits. Cependant, des frais peuvent survenir ultérieurement, comme des abonnements ou des frais de support.

Types populaires de logiciels Open Source

Les technologies open source ont contribué à créer une grande partie d’Internet.

De plus, de nombreux programmes que vous et moi utilisons quotidiennement sont basés sur des technologies open source. Par exemple, Android OS et Apple OS X sont respectivement basés sur le noyau et l'open source Unix/BSD.

Autres logiciels open source populaires :

  • Navigateur Internet Mozilla Firefox
  • Client de messagerie Thunderbird
  • Langage de script PHP
  • Langage de programmation Python
  • Serveur Web Apache
  • > Open Source et développeurs

Les projets OSS sont des opportunités de collaboration qui améliorent les compétences et créent des liens sur le terrain. Les développeurs doivent maîtriser les outils de développement open source standards.

Les moyens de communication

  • - le courrier électronique, la messagerie en temps réel, les forums et les wikis aident les développeurs à trouver des solutions ou à échanger des idées. Systèmes de contrôle de version distribués
  • - Lorsque plusieurs développeurs situés dans des emplacements géographiques différents modifient des données et des fichiers, ces systèmes gèrent différentes versions et mises à jour. Suivi des bugs et listes de tâches
  • - Permettez aux projets à grande échelle de surveiller les problèmes et de suivre leurs correctifs. Outils de test et de débogage
  • - Automatisation des tests lors de l'intégration du système et du débogage d'autres programmes. Conclusion

Des milliers de projets open source offrent une alternative aux logiciels propriétaires. Travailler sur un projet OSS comme chemin vers une carrière dans le développement de logiciels. De plus, les programmeurs peuvent perfectionner leurs compétences en travaillant sur certains des plus grands produits logiciels au monde. Facebook, Google et LinkedIn en Open Source afin que les développeurs puissent partager leurs connaissances, mettre en œuvre des solutions et contribuer à des produits stables et fonctionnels.

Le marché du logiciel propose un large choix de logiciels. Outre les applications pouvant être achetées moyennant des frais, il est possible d'utiliser des programmes gratuits.

Logiciel gratuit

Le terme « freeware » est apparu pour la première fois en 1982, il a été déposé comme marque par le programmeur américain Andrew Flegleman pour un programme de communication qu'il a développé.

Vous pouvez le télécharger gratuitement:

  • versions bêta des programmes
  • analogues simplifiés de packages à part entière
  • Conducteurs
  • programmes dont le recours favorisera l’acquisition de ressources supplémentaires.

Le logiciel gratuit a un avantage : vous n'avez pas à payer d'argent, mais il y a quelques autres inconvénients :

  • pas de mise à jour automatique du programme
  • pas de support technique
  • des erreurs pendant le fonctionnement sont possibles.

Presque tous les programmes commerciaux pour Windows ont leurs analogues gratuits :

  • Archiveurs (7-Zip)
  • Logiciel pour travailler avec FTP (FileZilla)
  • Antivirus (CureIt, Avast !, AVZ)
  • Éditeurs de texte (Notepad++)
  • Navigateurs (Mozilla, Firefox, Opera, GoogleChrome)
  • Lecteurs audio (WinAmp)
  • Lecteurs vidéo (VLC, Miro, Media Player Classic)
  • Transcodeurs (MediaCoder)
  • Éditeurs graphiques (GIMPshop)
  • Logiciels bureautiques (Apache OpenOffice, LibreOffice)

Des applications Windows gratuites sont disponibles sur Internet sur les sites des développeurs. Après avoir téléchargé l'archive et installé le logiciel, tous les répertoires et fichiers nécessaires au fonctionnement normal de l'application sont automatiquement créés sur l'ordinateur. Des applications gratuites pour Android et iOS peuvent être téléchargées sur les marchés PlayStore et AppStore.

Lors du téléchargement de programmes gratuits, vous courez le risque de rencontrer un effet de « cheval de Troie » : le développeur inclut d'autres programmes dans le package distribué gratuitement, qui sont automatiquement placés sur l'ordinateur lors de l'installation du package. Ce logiciel n'est pas toujours sûr !

Les projets open source occupent une place particulière dans la catégorie des logiciels libres. Certains des logiciels ci-dessus (Mozilla Firefox, 7-Zip, FileZilla, Notepad++, Miro, VLC, Apache OpenOffice, LibreOffice, Media Player Classic, GIMPshop, Google Chrome) appartiennent spécifiquement à cette catégorie.

Logiciels open source

Le logiciel peut être distribué en source fermée (Microsoft Windows, MS Office - logiciel propriétaire) ou en open source. Inventé en 1984, le terme « logiciel libre » fait référence à un logiciel qui peut être obtenu gratuitement, modifié à l'aide du code source disponible et redistribué.

Les programmes sont distribués sous licence GNU GPL et doivent répondre aux exigences suivantes :

  1. Il n'y a aucune restriction sur l'utilisation des logiciels dans certains domaines d'activité.
  2. Le code source est distribué avec le module exécutable ou peut être obtenu à partir d'une source accessible gratuitement/à un coût raisonnable. Le code doit être lisible.
  3. La version modifiée est distribuée sous conditions générales. Le nom ou le numéro de version peut être modifié.
  4. Le programme est accessible à tous.

En 1998, le concept de « logiciel open source » a été introduit. Formellement, tous les logiciels libres peuvent être considérés comme des logiciels open source. Il est d'usage de classer les programmes open source comme gratuits, bien qu'il ne soit pas interdit de les utiliser à des fins commerciales. Généralement, il est distribué sous la licence Apache 2.0. Mais il existe d'autres options (pour plus d'informations sur les licences dans le monde open source, voir).

Avantages de travailler avec des projets open source :

  • c'est un bon matériel pédagogique
  • il n'est pas interdit d'intégrer les fonctions décrites dans le projet dans vos applications
  • les erreurs détectées peuvent être corrigées et le code correct placé dans le référentiel approprié
  • Lors de la compilation d'un programme, il est permis d'apporter des modifications au texte et de le moderniser pour l'adapter à des conditions d'utilisation spécifiques.

Défauts:

  • la compilation peut nécessiter des bibliothèques supplémentaires que vous devrez rechercher sur Internet
  • Si vous avez des questions lors de l'utilisation de ce logiciel, vous devrez chercher la réponse sur les forums sur Internet.

Le concept Open Source repose sur l'augmentation de la fiabilité et de la qualité des logiciels en détectant et en corrigeant les erreurs de nombreux utilisateurs. Le projet open source est constamment testé par un grand nombre de programmeurs.

Google met depuis longtemps en œuvre largement la technologie open source. Tous ses projets de ce type, au nombre d'environ 200 (Kubernetes a été initialement développé ici puis transféré à la direction de la Cloud Native Computing Foundation), sont disponibles sur le portail GOOGLE OPEN SOURCE de l'entreprise. La ressource contient non seulement des codes de programme, mais également de la documentation sur leur utilisation et leur prise en charge. La mesure dans laquelle vous pouvez utiliser le code fourni librement est indiquée dans la licence, généralement directement placée dans le texte du programme.

Apple, en ouvrant les codes sources du langage Swift, tente d'augmenter le nombre d'applications disponibles pour Apple. La version actuelle du langage présente actuellement des limites : pour télécharger votre développement sur l'AppStore, vous devrez acheter une licence Swift. Toutes les informations nécessaires à la langue sont publiées sur le site Web swift.org et dans le stockage cloud GitHub. Swift est sorti pour Linux.

Partageware

Certains programmes distribués gratuitement comportent des restrictions :

  • selon période de travail
  • par nombre de lancements
  • par fonctionnalité

Pour limiter la durée de fonctionnement et le nombre de démarrages, une protection d'essai est utilisée - des compteurs spéciaux. En tant que logiciel à fonctionnalités limitées, une version de démonstration ou une version avec un service limité est fournie. Parfois, le développeur insère de la publicité dans le code du programme, ce qui rend difficile l'utilisation du package. Pour vous débarrasser d’une bannière publicitaire, vous devrez payer.

Exemples de programmes avec une licence shareware :

  • Archiveur WinRAR (30 jours)
  • Antivirus Nod32 (30 jours)

AcrobatReader est un exemple de programme aux fonctionnalités limitées. Ce programme, l'extrémité inférieure de la suite AdobeAcrobat, permet uniquement la visualisation de fichiers PDF. Pour travailler pleinement avec ces types de fichiers, vous devez acheter une version plus complète d'Acrobat.

Les principaux développeurs proposent leurs produits gratuitement pour un usage personnel à des fins d'étude. Si vous envisagez d'utiliser leur logiciel à des fins commerciales, vous devez acheter une licence.

Par exemple, Oracle vous permet de télécharger gratuitement le kit de distribution du SGBD et les utilitaires permettant de l'utiliser. Dans ce cas, des restrictions sont imposées sur le volume du tableau de données traitées. Mais pour apprendre les principes du travail avec une base de données et pratiquer la rédaction de procédures, cette option de travail avec un logiciel convient.

En fait, lorsque vous téléchargez le « code source » d’un logiciel open source, vous devez être prêt à engager certains coûts pour pouvoir l’utiliser. Il n'est pas nécessaire d'acheter une licence, mais vous devrez payer pour le travail des programmeurs qui créeront des produits logiciels basés sur celle-ci pour une tâche spécifique.

conclusions

En achetant un logiciel payant sous licence, vous avez automatiquement la possibilité de demander l'assistance technique du développeur et de mettre régulièrement à jour votre produit si nécessaire. Pour l'installer sur votre ordinateur, vous n'avez pas besoin d'avoir des connaissances approfondies dans le domaine informatique.

Lors de l'installation d'un logiciel gratuit, faites attention à la date à laquelle il a été créé/mis à jour et assurez-vous de vérifier la présence de virus dans le logiciel. Ces programmes sont utilisés à la fois par des informaticiens et des utilisateurs de PC de différents niveaux.

Les projets open source intéressent les personnes intéressées par la programmation et les professionnels. Habituellement, les textes de ces programmes peuvent être téléchargés gratuitement. Compiler un module exécutable et créer l'environnement de travail nécessaire nécessite certaines compétences d'un informaticien.

L'avantage incontestable des projets open source est leur indépendance vis-à-vis du fournisseur ; les grandes entreprises préfèrent créer des logiciels d'entreprise basés sur eux. Cela devient particulièrement pertinent pour les sociétés d'État en raison des difficultés possibles à acheter des produits exclusifs en raison des sanctions économiques. Un facteur limitant dans la mise en œuvre de l'open source est une certaine incertitude associée à la sécurité de l'information : des problèmes peuvent survenir lors de l'obtention de la certification du FSTEC.

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.

Écrasante 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 Open source 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 majeur à 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 de 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.

Conducteurs

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.