Suite

Existe-t-il des projets OpenSource ArcObjects ?


L'un des principaux avantages du développement d'applications SIG basées sur des bibliothèques open source, est que de nombreux projets surgissent sur eux qui sont également open source.

Les projets open source bien conçus sont parfaits pour voir :

  • quels modèles de codage doivent être utilisés
  • quels styles de codage suivre
  • comment structurer des projets plus importants
  • quels tests unitaires inclure
  • outils et procédures d'autodocumentation
  • workflows de contrôle de source

La galerie de codes ArcObjects semble être le meilleur endroit pour regarder, mais la plupart des exemples que j'ai examinés sont de très petites fonctionnalités ou des outils uniques, plutôt que des applications complètes.

Le projet SharpGIS est un bel exemple .NET à suivre, mais existe-t-il des projets spécifiques à ArcObjects ?


Mis à jour avec des exemples :

http://eagl.codeplex.com/

Easy ArcGIS Library est un ensemble de classes C# .net qui englobent les fonctionnalités communes d'ArcObjects, qui aident les développeurs ArcGIS à exécuter de nombreuses fonctions courantes en moins de temps et de manière directe.

Et du même développeur :

http://arcgisslcontrols.codeplex.com/

ArcGISSLControls est un ensemble de contrôles ArcGIS Silverlight qui repose sur le SDK ArcGIS Silverlight, il est développé en langage de programmation C#.


GDAL a un pilote ArcObjects et vous pouvez voir le code source dans l'arborescence SVN. Le projet Ziggis est basé sur ArcObject et open source. Je sais qu'ils ont une version plus récente qui est également open source, mais je ne trouve pas l'emplacement de la source.

Sinon, le site Arcscript d'ESRI est un autre endroit à consulter.


Hy, j'ai créé un Java Print SOE pour des impressions de haute qualité avec un widget Flex.

Le code est disponible dans la CodeGallery :

http://www.arcgis.com/home/item.html?id=6809086326ea4c76bf026a32bb9dd698

À M


Je n'ai pas eu l'occasion de jouer avec Earthworm - An ORM for Esri Geodatabase (via ArcObjects), mais ça a l'air bien.


Existe-t-il des projets open source écrits en APL ? [fermé]

Vous voulez améliorer cette question ? Mettez à jour la question afin qu'elle soit sur le sujet pour Stack Overflow.

J'essaie d'apprendre l'APL (Kona) et je recherche des exemples de projets pour comprendre comment un APL expérimenté organiserait son code.

Tout projet open source serait utile mais, non financier ou tout ce qui manque de mathématiques lourdes serait génial.


5 réponses 5

Il existe un ransomware open source appelé Hidden Tear. Le code crypte les fichiers avec les extensions suivantes : ".txt", ".doc", ".docx", ".xls", ".xlsx", ".ppt", ".pptx", ".odt", " .jpg", ".png", ".csv", ".sql", ".mdb", ".sln", ".php", ".asp", ".aspx", ".html", " .xml", ".psd" par défaut avec cryptage AES 256 bits.

Il est open source et peut donc être facilement personnalisé pour non seulement rechercher des fichiers supplémentaires, mais également la manière dont le cryptage est effectué.

Je doute que vous trouviez le code source du ransomware dans le grand public. Je suppose qu'il y a du code là quelque part mais je ne prendrais pas le risque de visiter des sites louches sur le "Darknet" (je déteste vraiment ce terme).

(Mal)heureusement, le ransomware n'est pas très complexe. Pour un projet universitaire, il suffit de crypter et de remplacer des fichiers dans

/Documents est probablement assez bon. L'astuce consiste à faire en sorte que la clé de déchiffrement ne puisse être obtenue que par votre intermédiaire.

  1. Générer une clé symétrique K
  2. Crypter tous les fichiers dans

Obtenir K du serveur.

Décryptez les fichiers avec K

Je sais que les ransomwares notoires utilisent le cryptage asymétrique, mais ce n'est en fait pas nécessaire du tout. Par exemple, RSA mal implémenté par CryptoDefense a en fait fait Plus facile d'écrire des outils de déchiffrement automatisé, car ils ne se sont pas rendu compte qu'une API Windows Crypto conserve des copies locales des clés privées RSA générées. Mettre une foi aveugle dans un système de cryptographie ne le rendra pas sûr. Ce qui est important, c'est que la clé de déchiffrement ne soit pas récupérable sur le système. Que cela soit fait ou non en mettant à zéro la mémoire ou en cryptant K avec une clé publique RSA n'a vraiment pas d'importance.

Non. Il n'y en a pas et je suis sûr qu'il n'y en aura jamais : imaginez que des armes nucléaires soient disponibles à l'achat dans le magasin.

L'esprit de la communauté Open Source investit heureusement des efforts positifs pour développer des outils qui protègent les utilisateurs allant des anti-virus tels que ClamAV aux scanners de vulnérabilité web tels que Grabber, en passant par des outils qui sont plutôt destinés à évaluer les systèmes des utilisateurs tels que ceux que vous pouvez trouver dans Kali Linux utilisé pour les tests de pente (bien sûr, vous pouvez toujours utiliser le couteau pour tuer quelqu'un à la place).

Mais c'est vrai qu'il y a des open source infâme des outils tels que ZombieBrowserPack qui est un plugin peuvent être manipulés à distance pour voler les informations d'authentification et même contourner les mécanismes d'authentification à deux facteurs tels que ceux mis en œuvre par Yahoo et Google, ou simplement pirater votre compte Facebook et bien plus encore. Cependant, cela ne doit pas prêter à confusion : ce plugin est développé par Zoltan Balazs en tant que POC à des fins académiques comme d'autres outils similaires dans le même contexte : le code de virus est présent librement sur Internet mais il est destiné à des fins académiques et il ne peut pas nuire parce que tout malware dont le code est publié sa vie est terminée car les sociétés antivirus conçoivent une protection contre lui.


Réponse courte: Non. Les binaires Java (JRE et JDK) fournis par Oracle contiennent tellement de chaînes attachées qu'ils sont pratiquement inaptes à toute utilisation ou redistribution avec des logiciels propriétaires ou sous licence open source, y compris les logiciels sous licence GPL.

La seule alternative saine est de considérer l'OpenJDK qui utilise une combinaison de licences et est principalement sous la GPL 2.0 avec l'exception Classpath qui est généralement considéré comme approprié pour tout usage open source ou propriétaire. Voir ci-dessous pour quelques pointeurs vers les binaires pré-construits OpenJDK ou construisez-le vous-même.

Les JRE et JDK Oracle (c'est-à-dire PAS l'OpenJDK) sont publiés sous une licence propriétaire appelée Oracle Binary Code License Agreement.

Cette licence a pas mal évolué au fil des ans depuis ses débuts chez Sun au point qu'elle est à peine utilisable pour le développement interne et probablement pas beaucoup plus. Oracle souhaite que vous achetiez une licence commerciale à la place pour la plupart des utilisations.

En particulier, comme l'un des nombreux problèmes de cette licence, le domaine d'utilisation des restrictions a évolué pour être si vague et si vaste qu'on se demande si une utilisation est autorisée (c'est moi qui souligne) :

« Ordinateurs de bureau et serveurs à usage général » désigne les ordinateurs, y compris les ordinateurs de bureau et portables, ou les serveurs, utilisés pour des fonctions informatiques générales sous le contrôle de l'utilisateur final (comme, mais sans s'y limiter, le courrier électronique, la navigation Internet à usage général et les outils de productivité de la suite bureautique) . L'utilisation de logiciels dans des systèmes et des solutions qui fournissent des fonctionnalités dédiées (autres que celles mentionnées ci-dessus) ou conçus pour être utilisés dans des applications logicielles intégrées ou spécifiques à des fonctions, par exemple, mais sans s'y limiter : les téléphones mobiles, les appareils portables sans fil, les kiosques, les téléviseurs/décodeurs, les appareils Blu-ray Disc, les équipements de commutation de télématique et de contrôle de réseau, les imprimantes et les systèmes de gestion de stockage, et d'autres systèmes connexes sont exclus de cette définition et non licencié en vertu du présent accord.

Ce genre de restrictions ne volerait pas beaucoup avec une redistribution open source et avec la GPL en particulier.

Cela rend essentiellement toutes les subventions de « LICENCE DE DISTRIBUER » dans les sections C et D sans objet dans la plupart des cas. Vous pouvez avoir un cas d'utilisation très restreint qui peut correspondre à ces restrictions, mais tous les avocats que j'ai consultés sur cette licence sont assez mal à l'aise avec ses termes pour la plupart des cas pratiques.

La seule alternative saine est d'envisager l'OpenJDK, que ce soit pour une utilisation en conjonction avec un logiciel libre ou propriétaire. C'est assez étrangement essentiellement la même base de code.

Le projet OpenJDK lui-même ne redistribue pas les binaires et la construction d'un OpenJDK peut être un processus plutôt engagé. Les distributions Linux ont des packages pour cela. Pour les autres systèmes d'exploitation, il existe des pré-construits disponibles, par exemple chez Azul.

Mise à jour 2016-12 : En fait, les dernières nouvelles sont qu'Oracle applique désormais les licences commerciales et les audits commerciaux si vous n'utilisez pas d'OpenJDK.


3 réponses 3

Les projets open source sont très divers. Il y en a où une approche de type Scrum peut fonctionner, mais pas dans le cas général.

Les timebox Scrum fonctionnent en sprints de taille fixe. Il existe de nombreux projets open source avec un calendrier de publication fixe. Mais généralement, ce calendrier est d'environ en intégrant travail qui a déjà été fait, pas de faire le développement.

Scrum attend de l'équipe qu'elle s'engage sur un objectif de sprint. Mais la plupart des projets open source sont menés par des bénévoles. La contribution est volontaire et fluctuante. Il serait toxique pour ces projets de se sentir droit à un engagement répété et fiable de la part des bénévoles. Le projet ne peut pas dire aux volontaires quoi faire. Il peut bien sûr refuser d'accepter des contributions qui ne font pas partie du backlog de sprint, mais c'est un gaspillage idiot de bonne volonté et de ressources de développement. S'exprimant en tant que mainteneurs open source, les demandes d'extraction uniques avec une correction de bogue sont extrêmement précieuses. Mais cette contribution n'est en aucun cas planifiable.

Il y a bien sûr des scénarios où cela ne poserait pas de problème. Par exemple, certains développements peuvent être financés par des subventions. Ces subventions peuvent spécifier un objectif et/ou un calendrier. Mais les subventions sont généralement accordées à une seule personne, pas à une équipe. Parfois, les projets sont dirigés par des contributeurs rémunérés, par ex. pour un projet lancé par une entreprise. L'entreprise peut bien sûr utiliser Scrum pour planifier ses contributions.

Je suppose que par projet open source vous faites ne pas se réfèrent à des projets sur lesquels travaillent des employés rémunérés. "Par le livre" Scrum ne fonctionnera généralement pas, car il y a quelques difficultés :

  • Les sprints nécessitent des engagements de temps fermes et bénéficient beaucoup d'engagements de temps fermes réguliers et répétés.
  • Scrum bénéficie d'interactions fréquentes entre les équipes, ce qui est plus facile si la majeure partie de l'équipe se trouve dans le même bureau ou au moins dans un fuseau horaire similaire.
  • D'après mon expérience, les Product Owners - en moyenne - ont tendance à être nettement meilleurs s'ils n'écrivent pas activement le code du projet.
  • De nombreux contributeurs ont un intérêt particulier pour des fonctionnalités spécifiques qu'ils souhaitent développer, peu ou pas d'intérêt pour d'autres fonctionnalités, et aucune incitation à écouter quiconque souhaite leur dire sur quelles fonctionnalités travailler.
  • Des engagements de temps différents créent des difficultés pour organiser une réunion debout quotidienne

Les problèmes peuvent être contournés, et avec le bon projet et les bonnes personnes, Scrum peut fonctionner de toute façon. Mais même dans ce cas, il existe probablement de meilleurs processus.

Je vous recommande de décomposer Scrum et de prendre ce dont vous avez besoin, puis de le mettre en œuvre d'une manière qui correspond au projet et à l'équipe :

  • Avoir une vision de projet claire, connue et acceptée de tous.
  • Ayez une liste de priorités partagée des choses qui devraient être faites plus tôt que les autres.
  • Assurez-vous que les gens sachent qui travaille actuellement sur quoi.
  • Ayez régulièrement des objectifs communs à court et moyen terme et des révisions une fois qu'ils ont été atteints.

Dire que Scrum ne peut pas fonctionner à cause de ces arguments revient à dire que Scrum ne peut pas fonctionner dans une entreprise, car elle utilise actuellement la cascade. Bien que Scrum et la cascade ne jouent pas bien l'un avec l'autre (ou plutôt se contredisent), cela ne signifie pas que vous ne pouvez pas y établir Scrum, si tout le monde va de pair. De même, je ne dirais pas que Scrum ne peut pas fonctionner dans un projet open source en soi, mais il a ses propres contraintes.

Les gens ont tendance à ne pas travailler sur des projets Open Source à plein temps

Bien que cela soit vrai, Scrum embrasse également ce genre d'incertitudes. Étant donné que nous avons un cycle très court d'une semaine, tous ceux qui souhaitent contribuer devront s'engager pour au moins cette semaine et planifier le temps qu'ils pourront consacrer au projet. En fonction du temps que chaque contributeur peut se permettre, il est possible de planifier les histoires sur lesquelles travailler. De toute façon, faire Scrum ne sera pas vraiment possible, si les contributeurs ont tendance à rester à l'écart des réunions obligatoires.

Bien sûr, cela ne se limite pas aux cycles de sprint hebdomadaires.

Alors que certains projets ont un groupe de contributeurs principaux, de nombreuses demandes de tirage sont ad hoc avec des personnes soumettant des demandes de tirage qui ne contribueront probablement à aucun objectif de sprint convenu.

L'open source ne signifie pas nécessairement que tout le monde peut contribuer comme il le souhaite. Il existe des projets open source avec des règles très strictes sur la manière de contribuer (Linux par exemple). Les personnes prévoyant de contribuer au projet devront assister à la planification du sprint, etc. Vous pouvez en faire une exigence pour contribuer au projet. Bien sûr, les gens qui n'aiment pas cela peuvent créer un fork et travailler dessus comme ils le souhaitent, mais ce sera alors un autre projet.

Les communautés sont souvent gérées via des systèmes de messagerie, des blogs et des forums plutôt que des réunions formelles telles que des sessions de planification, des rétrospectives et des revues de sprint.

Vous pouvez avoir les réunions formelles par téléphone ou plutôt par vidéoconférence. Bien que cela ne rende pas Scrum plus facile, c'est tout à fait possible. Ce n'est pas parce que cela n'est pas fait dans les projets que cela ne peut pas être fait.

La direction des projets est souvent plus une démocratie (ou celui qui y contribue le plus) plutôt que d'être focalisée par un Product Owner

Oui, vous devrez avoir quelqu'un qui agit en tant que propriétaire de produit. Encore une fois, la pratique habituelle ne vous empêche pas de le faire différemment. De plus, il existe des exemples de personnes seules conduisant un projet et le dirigeant dans une direction (encore une fois, pensez à Linux).

Pour faire court, même si vous avez probablement raison de dire que c'est tout sauf la règle, je ne pense pas que ce soit impossible. Si vous avez un propriétaire compétent qui choisit et priorise les user stories et les contributeurs qui sont prêts à contribuer de cette manière, rien ne vous empêchera de faire Scrum.

Quoi qu'il en soit - comme l'ont souligné les commentateurs - il est fort probable que ce soit un gâchis et probablement pas une bonne idée. Juste pour mentionner quelques points pour lesquels cela pourrait échouer:

  • Il sera difficile d'avoir un noyau dur de contributeurs - sans cela, Scrum ne jouera pas ses points forts
    • Sans une équipe très stable, vous pourriez lancer un dé pour estimer les points d'histoire - cela pourrait fonctionner aussi bien

    (Note latérale : Une approche de type Kanban pourrait mieux fonctionner si vous souhaitez structurer votre projet OSS. Cela ne dépend pas des rôles, le buy-in est bien inférieur et c'est beaucoup plus flexible dans le temps, mais vous donne quand même un bon aperçu du WiP.)


    Zubra crée des applications et des solutions SIG personnalisées qui permettent aux clients d'interagir avec et d'analyser des informations spatiales, de modifier des données, des cartes et d'afficher les résultats de toutes ces opérations afin de répondre aux besoins stratégiques de l'entreprise. Des grands systèmes AM/FM à la localisation du point d'intérêt le plus proche, Zubra propose toute une gamme de services. Nous fournissons un support technique SIG expert et des services de cartographie, offrant une alternative rentable et fiable à la mise en œuvre ou à l'extension de vos propres capacités SIG

    • Créez des cartes Web et de données open source à l'aide de Leaflet, PostgreSQL et d'autres technologies open source
    • Services de création de cartes et d'itinéraires : cartes personnalisées conçues à partir de matériaux fournis par le client, de bases de données et/ou d'ensembles de données spatiales existants. Les cartes sont fréquemment créées à des fins de marketing, de développement immobilier, d'exploration énergétique ou de publication. Les emplacements des clients, les territoires de vente personnalisés et les cartes d'itinéraire sont adaptés à vos besoins
    • Création de données : créez des ensembles de données prêts pour le SIG à partir de fichiers AutoCAD, de données démographiques, d'adresses, de points de données collectés par GPS, etc.
    • Géoréférencement : rectification d'images et de données vectorielles vers un système de coordonnées du monde réel
    • Intégration de données : acquisition de données, liaison de données de plusieurs systèmes
    • Numérisation
    • Conversion/migration de données : convertissez des données à partir d'un ou plusieurs formats disparates
    • Géocodage/Géocodage inversé
    • Conception de bases de données : créez des bases de données personnalisées pour votre application spécifique
    • Exigences et conception de l'application
    • Développement d'applications personnalisées : créez des applications géo-activées personnalisées pour automatiser les flux de travail et augmenter l'efficacité de l'entreprise
    • Intégration du système SIG
    • Formation
    • Support opérationnel

    1 réponse 1

    Il existe différentes options, mais je vous recommande d'aller avec Redmine.

    Redmine est une application Web flexible de gestion de projet. Écrit à l'aide du framework Ruby on Rails, il est multiplateforme et multibase de données.

    Redmine est open source et publié sous les termes de la licence publique générale GNU v2 (GPL).

    Il possède les fonctionnalités que vous demandez et est très évolutif, il peut facilement faire face aux grandes organisations et aux projets multiples, mais il est largement transparent pour les petites équipes. Certaines des fonctionnalités qui pourraient vous intéresser :


    6 réponses 6

    Que vous puissiez ou non gagner de l'argent avec un projet open source, cela dépend de beaucoup de choses. Sur la base de l'expérience, je vois trois facteurs qui sont importants:

    1. Quelle licence as-tu choisi ? Jetez un œil au schéma de cette réponse et vous verrez qu'à une extrémité, vous avez licences permissives et d'autre part vous avez des licences avec un fort copyleft.
    2. Quel type de produit proposez-vous ? Il y a une énorme différence entre offrir un outil aux consommateurs (quelque chose qu'ils peuvent simplement télécharger, exécuter et utiliser) et offrir une bibliothèque dans un contexte B2B, par exemple : un logiciel qui analyse XML, mais qui ne fonctionne que si vous écrivez un peu de code autour.
    3. Quelle est votre entreprise ? Êtes-vous dans l'entreprise de vente de logiciels (par exemple, vous vendez un jeu téléchargeable et jouable hors ligne) ou êtes-vous en affaires vendre un service (par exemple un jeu qui ne peut pas être téléchargé et qui se joue en ligne).

    Quand utiliser une licence avec copyleft fort ?

    Même si c'était différent dans le passé, je vois que les petites entreprises "pilotées par les développeurs", qui veulent créer un Logiciel dans un contexte B2B, bénéficient souvent d'une licence telle que l'AGPL.

    Avertissement: les auteurs originaux de l'AGPL considèrent ce que je vais écrire ensuite comme usage malveillant de l'AGPL, mais c'est ainsi que des entreprises telles que MongoDB, SugarCRM et d'autres gagnent de l'argent.

    J'ai mon propre projet open source et au cours des 15 dernières années, j'ai essayé de gagner de l'argent des manières suivantes :

    • Des dons: Dans les premières années, les utilisateurs de mon logiciel achetaient des Lego à mes enfants. Je recevrais des livres pour mon jour de naissance. Quelqu'un m'a même envoyé des cookies. Alors que cela a certainement été apprécié. Cela ne fait pas une entreprise. Aussi : j'habite en Belgique : quand quelqu'un m'a envoyé un DVD des États-Unis, (1) j'ai dû payer des taxes dessus (les douanes pouvaient être excessives), (2) je n'ai pas pu le lire car le DVD ne pouvait pas être lu dans ma région (sauf si j'ai tripoté mon lecteur DVD).
    • Gagner de l'argent avec des publicités: J'ai été l'un des premiers à adopter Google AdSense. En 2004, j'ai gagné 8 900 $ avec des publicités, en 2005 14 500 $, mais les revenus sont tombés à 6 200 $ en 2006, 2 350 $ en 2007 et 1 900 $. J'avais plus de contenu, plus de clics, mais moins de revenus. J'ai remarqué deux choses : (1) la plupart des personnes faisant de la publicité sur mon site étaient des concurrents, (2) si vous voulez gagner de l'argent avec des publicités, vous devez vous spécialiser dans le fait de gagner de l'argent avec des publicités. En conséquence, j'ai supprimé toutes les annonces. Les publicités en tant que modèle commercial sont mortes. Voyez par exemple ce que Codehaus a écrit lorsqu'ils ont fermé leur entreprise : le coût d'hébergement dépassait le coût des revenus des publicités. Vous pouvez également voir que SourceForge a pris le mauvais chemin
    • Rédaction de documentation : J'ai écrit deux livres pour Manning Publications sur mon projet. Manning a vendu environ 11 600 exemplaires de la première édition et près de 9 200 de la deuxième édition. Des copies illégales du livre étaient déjà disponibles avant que FedEx n'ait eu la chance de me livrer mes premières copies papier. En tant qu'auteur, j'ai reçu 10% sur les bénéfices. J'ai gagné environ 33 000 $ avec le premier livre et environ 30 000 $ avec le deuxième livre. J'ai utilisé cet argent comme financement d'amorçage pour mon entreprise. Écrire de la documentation est un travail difficile et lorsque vous comparez le temps que vous passez à écrire un tel livre par rapport à l'argent que vous gagnez en vendant le livre, vous comprenez vite que ce n'est pas une source d'argent durable.
    • Support de vente et maintenance : ça marche, mais c'est dur. Ce n'est pas quelque chose que vous pouvez faire vous-même, car ce n'est pas évolutif : plus vous avez de clients, plus vous avez besoin d'employés pour répondre aux tickets d'assistance. Aussi: vous faites face à la concurrence de joueurs professionnels qui offrent un support pour une pile de produits open source. En prenant en charge plus d'un produit, une telle entreprise peut se permettre d'embaucher plus d'employés. Dans mon cas : je ne pouvais pas rivaliser avec OpenLogic lorsque j'ai commencé à faire des affaires avec mon produit. J'ai dû trouver un modèle d'affaires différent.
    • Offrir des services professionnels : vous offrez le logiciel gratuitement, mais vous vendez des services professionnels pour installer le logiciel et intégrer votre produit dans un projet sur mesure. C'est encore plus difficile que d'offrir un support, car vous devez rivaliser avec tous les grands intégrateurs de logiciels qui ont plus d'argent, plus d'employés, plus de tout que vous. Votre entreprise sera même moins évolutive que le support et pire : tout le temps que vous passez sur des projets pour les clients est du temps que vous ne consacrez pas à développer davantage votre produit. La catastrophe de Heartbleed est un exemple de la façon dont cela peut mal tourner.

    Si vous êtes un développeur célibataire cherchant à démarrer une entreprise, gagner de l'argent avec l'open source Logiciel, votre meilleure chance de réussir est d'offrir le logiciel sous une double licence.

    Quelle licence ? Eh bien, vous devez éviter d'être tombé dans l'oubli par un contributeur plus puissant, donc seule une licence avec un copyleft fort a du sens. Vous comprendrez ce que cela signifie en lisant la section Eat me du guide ZeroMQ. Je cite:

    Dans l'industrie du logiciel, il y a des amis, des ennemis et de la nourriture. BSD fait que la plupart des gens nous voient comme un déjeuner. La source fermée fait que la plupart des gens nous voient comme des ennemis. La GPL, cependant, fait de la plupart des gens nos alliés.

    Comment gagner de l'argent avec une licence copyleft ? C'est expliqué dans cette vidéo. Vous offrez le logiciel en tant que logiciel libre et open source gratuit pour tous ceux qui obéissent aux règles de la licence. Les entreprises qui ne veulent pas suivre ces règles peuvent toujours utiliser le logiciel, à condition qu'elles achètent le logiciel sous une autre licence commerciale. Ce modèle est appelé double licence. Plus le copyleft de la licence est faible, plus il sera difficile de vendre votre produit.

    Quand utiliser l'open source avec une licence permissive ?

    Si vous n'êtes pas développeur et que vous souhaitez créer une entreprise offrant un service. Ou si vous travaillez dans une grande entreprise (disons Google, Amazon. ), alors vous n'aimerez probablement pas ce que j'ai écrit dans la section précédente.

    Vous voulez utiliser un logiciel et en faire ce que vous voulez. Vous n'aimez pas les licences de style GPL, car elles limitent ce que vous pouvez faire avec le logiciel. Vous devrez peut-être même Payer pour le logiciel que vous utilisez ! L'horreur!

    Dans ce cas, il est dans votre intérêt de faire un lavage de cerveau aux développeurs en leur faisant croire que les logiciels open source devraient être gratuits comme la bière gratuite, que la GPL est mauvaise et que les logiciels open source ne devraient pas être proposés commercialement. Vous parrainerez les fanatiques les plus radicaux qui sont populaires parmi les développeurs à la recherche d'un modèle. En conséquence, ces développeurs commenceront à produire des logiciels sous une licence permissive que vous pouvez utiliser comme vous le souhaitez.

    Votre tâche sera de faire des choix : séparer le bon grain de l'ivraie. Ce n'est pas votre affaire de vendre des logiciels :

    • Vous proposez un logiciel en tant que service (par exemple Google)
    • Vous avez une entreprise totalement différente qui repose sur des logiciels (par exemple Amazon)
    • Vous vendez des produits propriétaires fermés et vous gagnez beaucoup d'argent dans les services professionnels (par exemple, IBM ou Wipro)
    • Votre activité principale est la publicité vos utilisateurs sont votre produit (par exemple Facebook)

    Une fois que vous avez suffisamment réussi dans l'un des domaines ci-dessus, vous pouvez vous permettre de donner votre logiciel gratuitement (comme pour la bière gratuite). Comme vous avez acquis un monopole, peu importe si des concurrents peuvent également utiliser votre logiciel. S'il s'agit de pairs, ils peuvent améliorer le code et le redistribuer, auquel cas vous en bénéficiez également. Si ce sont des prétendants qui viennent de démarrer une nouvelle entreprise, vous les écrasez (parce que votre marque est reine et votre budget marketing est plus important) ou vous les achetez (et éventuellement les tuez par la suite).

    C'est un excellent moyen de gagner de l'argent avec un logiciel open source, mais je vois certains inconvénients. Au moment où une grande entreprise décide que la valeur créée par un projet ne justifie pas l'investissement, le "charité" s'arrêtera. Oracle a abandonné GlassFish, IBM s'est éloigné de Geronimo, Pivotal a quitté Groovy. Ce n'est que lorsqu'une catastrophe survient (comme ce fut le cas avec Heartbleed), que ces entreprises commencent soudainement à collecter des fonds pour "sauver les développeurs".

    Ce n'est pas un modèle durable pour l'open source, n'est-ce pas ?

    Je ne sais pas s'il existe des chiffres à ce sujet, mais cela ne me surprendrait pas si vous voyiez que la plupart des logiciels distribués sous licence permissive sont écrits par des employés (personnes travaillant pour une grande entreprise), alors que la plupart des logiciels distribués sous licence copyleft sont écrits par entrepreneurs (personnes possédant ou travaillant pour une petite ou moyenne entreprise).

    Cela a-t-il toujours été ainsi ?

    Non, les logiciels libres et open source ont subi un énorme changement. Les grandes entreprises distribuaient FUD sur les logiciels proposés gratuitement. Ce sont souvent les mêmes entreprises qui prétendent maintenant que les logiciels open source devraient être gratuits comme la bière gratuite. Si vous voulez savoir comment c'était au début, je vous recommande de regarder OS Revolution.

    Comment je gagne de l'argent aujourd'hui ?

    Si vous voulez en savoir plus sur mon histoire en open source, je vous recommande de lire le blog 1M/1M de Sramana Mitra. J'ai fondé ma première entreprise open source en 2008, 8 ans après la première version open source de mon produit. En 2014, le groupe était rentable avec un chiffre d'affaires de 5 millions d'euros et un EBITDA de 43%. L'entreprise s'est classée 28e dans le Technology Fast 500 de Deloitte dans la région EMEA et a remporté la première place en tant qu'entreprise technologique à la croissance la plus rapide en Belgique au cours de la période 2009-2014.

    Mise à jour 2021

    Entre-temps, j'ai réalisé une sortie. Juste après avoir quitté l'entreprise, j'ai écrit un livre partageant mon expérience : Entreprenerd: Building a Multi-Million-Dollar Business with Open Source Software.


    2 réponses 2

    Si l'on a un projet open source qui est déployé quelque part dans le cloud via un pipeline de livraison continue, comment les informations d'identification programmatiques nécessaires au CI/CD pour déployer l'application peuvent-elles rester privées ?

    Cela dépend vraiment du CI/CD que vous utilisez.

    Par exemple, j'utilise Travis et Appveyor. Les deux prennent en charge le chiffrement des "secrets" dans leurs manifestes.

    Par exemple, dans cette boucle de construction, je construis des roues Python sur Appveyor et elles sont téléchargées sur bintray, ce qui serait une sorte de pipeline minimal de type Ci/CD. Il en va de même ici avec Travis (pour Linux et Mac).

    Cette autre boucle a la même approche mais utilise également Docker et les choses se terminent également par bintray.

    Si je devais déployer, par exemple, une application Web sur un serveur en direct, j'utiliserais probablement exactement la même approche. par exemple.:

    1. si ma construction est réussie et est pour une balise .
    2. . chiffrer en tant que secrets les informations d'identification de déploiement comme indiqué ci-dessus.
    3. et demandez à mon CI de gérer le déchiffrement et d'effectuer le déploiement proprement dit.

    Mais le fait est que pour avoir ces informations d'identification cachées sur votre machine de construction CI/CD, vous devez en quelque sorte donner à votre machine de construction un moyen d'y accéder. Cela signifie lui donner des crédits qui se retrouveront à nouveau dans le repo.

    La chose ici est que mes informations d'identification régulières au Ci (qui ne sont PAS dans le référentiel) sont ce qui est utilisé par l'outil Ci pour chiffrer et déchiffrer au moment de la construction mes secrets chiffrés.

    Alors oui, le Ci sait déchiffrer ces identifiants. Mais un attaquant aurait besoin d'avoir le contrôle du Ci/CD et de leur base de données d'authentification éventuellement également cryptée pour compromettre mes "secrets".

    Si vous utilisez un Ci/Cd cultivé ou déployé en interne tel qu'un Jenkins, vous pouvez utiliser la même approche. Par exemple, utilisez une clé GPG ou un autre mécanisme et donnez au Ci/CD le moyen de déchiffrer au moment de l'exécution. Dans tous les cas, à un certain niveau, vous devez faire confiance à certaines des machines du pipeline. Vous pouvez le rendre plus complexe en ajoutant des intermédiaires chacun avec leurs propres informations d'identification pour le rendre plus difficile.


    Nous avons trouvé au moins 10 Liste de sites Web ci-dessous lors de la recherche avec projets gis faciles sur le moteur de recherche

    Projets et données SIG simples et gratuits

    • SimpleÉtats-Unis Projet & Dataset est un ensemble de données complet sur les frontières des États américains, les villes, les routes, les voies navigables, etc., comprenant une base de données complète de géocodage et de routage des rues, disponible en téléchargement gratuit ci-dessous.
    • Le SimpleUSA projet est un libre projet à utiliser avec le SIG simple Candidature cliente
    • Télécharger Simple USA Projet et jeu de données

    A la recherche d'une idée de projet SIG amusante (et relativement simple) : gis

    Reddit.com AD : 14 PENNSYLVANIE: 50 Rang MOZ : 65

    • À la recherche d'amusement (et relativement simple) projet SIG idée
    • Je cherche un sujet amusant pour faire un Projet SIG sur pour mon introduction à SIG classe, en gardant à l'esprit que je recherche de bonnes données gratuites à utiliser
    • Les nouveaux commentaires ne peuvent pas être publiés et les votes ne peuvent pas être exprimés

    Quels sont les sujets intéressants du projet utilisant le SIG

    Quora.com AD : 13 PENNSYLVANIE: 50 Rang MOZ : 65

    • Il s'agit d'une procédure très difficile en fait tout au long de la M
    • Pour choisir votre sujet de thèse, vous devez d'abord parcourir vos sujets théoriques et trouver celui qui est le plus intéressant et le plus faisable à faire (wi

    Top 25 des visualisations SIG les plus cool StateScoop

    Étatscoop.com AD : 14 PENNSYLVANIE: 35 Rang MOZ : 52

    • Servir de plaque tournante pour le transport et les infrastructures projets, le portail de données du ministère des Transports de l'Utah (UDOT) est l'un des plus complets SIGportails de données activés dans le pays
    • Combinés à la carte de développement économique de l'État et au portail de cartographie des accidents, les efforts SIG de l'Utah sont impressionnants par leur ampleur avec projets

    Que dois-je faire pour mon projet SIG

    • Bonjour Joseph ! J'ai trouvé cet article de blog en cherchant idées arriver à un Projet SIG dans mon niveau 300 SIG cours à l'Université Montclair
    • Je suis membre de la Société de Conservation SIG dont vous faites partie et réalisé que vous êtes l'auteur de cet article de blog (et plusieurs autres !).

    Cartographie et SIG pour Absolute Beginners Mango

    Mangomap.com AD : 12 PENNSYLVANIE: 45 Rang MOZ : 62

    • Le terme SIG est un terme fourre-tout pour tout système qui peut stocker, manipuler et afficher des données cartographiques numériques, ils vont des systèmes de bureau puissants tels que QGIS et ArcGIS d'Esri aux systèmes basés sur le Web tels que Mango
    • Les deux principaux types de données utilisées dans un SIG système sont vecteur et raster.

    Projets SIG indépendants et comment les démarrer

    Gislounge.com AD : 17 PENNSYLVANIE: 32 Rang MOZ : 55

    Indépendant Projets SIG et comment les démarrer lorsque le sujet est SIG indépendant travail, ArcGIS Online est une excellente option pour ceux qui cherchent à créer des cartes pour aider leurs communautés, sans avoir à dépenser des sommes exorbitantes en frais de licence.

    Comment construire un projet SIG simple

    Youtube.com AD : 15 PENNSYLVANIE: 6 Rang MOZ : 28

    Comment construire un Projet SIG simple pour la planification et le développement d'un établissement rural donné en utilisant SIG logiciel - QGIS ET Google EarthAprès avoir regardé ceci

    Que dois-je faire pour mon projet SIG

    Ces objectifs qui traitent de la pauvreté, de la santé, de l'éducation et d'autres sujets (1) peuvent bénéficier de la perspective spatiale et de l'analyse spatiale qui SIG permet et (2) vous offre un moyen d'ancrer votre projet dans "ce qui compte vraiment". Ne vous découragez pas et pensez que votre projet peut ne pas être "assez grande", mais peut être axé sur l'eau

    Projets SIG Applications SIG SIG et SIG de bassin versant

    Nchse.org AD : 13 PENNSYLVANIE: 23 Rang MOZ : 45

    • Obtenez ici des conseils sur SIG applications avec études de cas et exemples
    • MIS au niveau du village activé SIG est un bon outil pour la planification et la mise en œuvre efficace
    • Sélection du site, planification de la conservation des terres et de l'eau facilement
    • SIG MIS on Health permet également facile pour identifier les domaines de besoin et l'étendue de la prestation de services
    • SIG techniques d'application avec des exemples éprouvés.

    Thèmes d'idées de projet SIG Collection pour l'ingénierie

    Comme un projet, les étudiants peuvent développer un SIG application or tool that allow users to create interactive queries (user-created searches), analyze spatial information, edit …