Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 08/03/2006, à 21:39

olivir

closed-source

Bonjour à toutes et à tous,

Fan de Python, c'est aussi une des raisons qui m'a conduit à Ubuntu (Mark est un fan il paraît).

J'ai développé une petite appli que j'aimerais distribuer en source fermée. Je sais, c'est pas bien mais au moins dans un premier temps, je pense que c'est le meilleur choix. Sans doute que quand mon appli sera totalement aboutie je passerais en open source...

Mais alors comment faire à partir d'un script Python ?

Dernière modification par olivir (Le 08/03/2006, à 21:48)


Olivier
"Le voleur parti
n'a oublié qu'une chose
la lune à la fenêtre."

Hors ligne

#2 Le 08/03/2006, à 21:51

gapz

Re : closed-source

Ma réponce ne va pas t'aider, mais être un peu inutle aussi, mais quel raison te pousse à utiliser un langage libre pour faire des codes sources fermé? Ton travail t'as demandé beaucoup de temps et tu ne voudrais pas voir la source partir et droite et à gauche sans que tu puisse 'controlé'?


Real programmers code in binary :: http://gapz.tuxfamily.org

Hors ligne

#3 Le 09/03/2006, à 02:15

gene69

Re : closed-source

Le meilleur moyen de voir ton travail reconnu est de le laisser open source.

Parce ce que ça gagne du temps sur le reverse enginering. (n'oublie pas de mettre les options d'optimisation et d'enlever les symboles de débug, de mettre des offuscateurs de codes de mettre des truc inutiles pour brouiller les pistes etc...)

Si c'est génial comme appli  les entreprises se pameront devant ton code,
si c'est truffé de fautes yaura quelqu'un pour t'aider à débuger,
si c'est nul personne n'aura envie de regarder comme c'est closed source.

Mais c'est vrai que c'est ta liberté, et c'est respectable de ta part de faire un tel choix, et encore plus d'écrire des lignes de codes.

Si un jour tu publies des sources documente toi ici:
http://www.gnu.org/licenses/license-list.fr.html
et bien sur prend exemple sur la licence de google si tu veux devenir riche, et sur celle de microsoft si tu veux te faire haïr.


Quand le berger est lâche, le loup chie de la laine.
A (draft) guide to UFO Alien-Invasion

Hors ligne

#4 Le 09/03/2006, à 09:49

thx1138

Re : closed-source

Ok, le logiciel propriétaire, c'est mal. On est tous d'accord pour le dire.
D'un autre côté, le monsieur a posé une question, et je vais donc y répondre.

Avec Python, c'est extrêmement facile, car celui-ci compile d'abord les sources pour ensuite les interpréter sur une machine virtuelle.
Les fichiers compilés ont une extension ".pyc".

Donc, la seule chose à faire est de lancer ton programme avec Python, et de récupérer les fichiers ".pyc". Ces derniers se comportent exactement comme des fichiers ".py", à la différence près que c'est du bytecode.

En espérant avoir pu t'aider.


They did not know it was impossible, so they did it - Mark Twain

Hors ligne

#5 Le 09/03/2006, à 10:26

olivir

Re : closed-source

gapz a écrit :

Ma réponce ne va pas t'aider, mais être un peu inutle aussi, mais quel raison te pousse à utiliser un langage libre pour faire des codes sources fermé? Ton travail t'as demandé beaucoup de temps et tu ne voudrais pas voir la source partir et droite et à gauche sans que tu puisse 'controlé'?

Bonjour,

Au départ, je ne suis pas informaticien. Voilà çà c'est dit. J'ai découvert Python il y a quelques années déjà et je me suis très vite passionné pour ce langage que je trouve particulièrement adapté pour le travail scientifique.

Ben justement, ma formation à moi, ce sont les sciences.

Grâce à mon cher Python open-source, j'ai fait une petite appli qui pourrait intéresser dans mon domaine. Ma crainte est de publier trop tôt le code source et donc de fournir du code à des plagieurs. Pas que mon code soit génial (vraiment pas mais il marche !) mais pour l'instant il n'existe pas vraiment de concurrence à mon appli. Si si elle est "innovante" lol

Donc avant de sortir une version finale, j'ai besoin de faire tester mon prog, mais sans me faire piquer le code, histoire que quand sortira la version finale, des concurrents n'aient pas poussé par magie.

Je sais bien que fermer le code ne me met pas à l'abri des "pirates", que les licences libres impliquent aussi un respect des droits d'auteurs, mais en attendant de m'être suffisammment protégé légalement, d'avoir bien négocié avec la boîte qui se propose de distribuer mon produit, je voudrais verrouiller mon source (ou alors faire fonctionner mon prog sur le web mais çà je sais pas faire :s).

Voilà la raison. Je ne suis pas certain de rester avec du code fermée, mais pendant cette phase de test çà me paraît plus sûr. Comme je le dis plus haut, je ne suis pas informaticien, je suis un "scientifique" encore un peu candide dans ce monde du codage smile

gene69 a écrit :

Le meilleur moyen de voir ton travail reconnu est de le laisser open source.

Parce ce que ça gagne du temps sur le reverse enginering. (n'oublie pas de mettre les options d'optimisation et d'enlever les symboles de débug, de mettre des offuscateurs de codes de mettre des truc inutiles pour brouiller les pistes etc...)

Si c'est génial comme appli  les entreprises se pameront devant ton code,
si c'est truffé de fautes yaura quelqu'un pour t'aider à débuger,
si c'est nul personne n'aura envie de regarder comme c'est closed source.

Mais c'est vrai que c'est ta liberté, et c'est respectable de ta part de faire un tel choix, et encore plus d'écrire des lignes de codes.

Si un jour tu publies des sources documente toi ici:
http://www.gnu.org/licenses/license-list.fr.html
et bien sur prend exemple sur la licence de google si tu veux devenir riche, et sur celle de microsoft si tu veux te faire haïr.

J'avoue, gene69, que je suis tiraillé. Depuis le temps que j'ai adopté les LL ! Mais là je crois qu'il est plus sûr tout de même que je verrouille. Sur tes conseils, je vais prendre une licence Google, parce qu'être riche, j'en ai bien besoin ces temps-ci là ! C'est une raison de verrouillage de mon source çà aussi, depuis le temps que je galère (on embauche pas des masses dans la recherche)...


thx1138 a écrit :

Merci de tes infos thx1138. Mais à ce que j'en lis partout, les pyc ne sont pas réellement fermés, c'est juste qu'il n'existe pas de décompilateur auto à ce jour ...


Même si je n'ai pas la réponse, merci à vous tous de vos réponses !

Dernière modification par olivir (Le 09/03/2006, à 11:04)


Olivier
"Le voleur parti
n'a oublié qu'une chose
la lune à la fenêtre."

Hors ligne

#6 Le 09/03/2006, à 11:00

olivir

Re : closed-source

Petite question pratique : Comment on choisit sa licence (propriétaire) ? On recopie des licences existantes, on peut inventer la sienne ????

et on peut la consulter où celle de Google ? wink

Dernière modification par olivir (Le 09/03/2006, à 11:01)


Olivier
"Le voleur parti
n'a oublié qu'une chose
la lune à la fenêtre."

Hors ligne

#7 Le 09/03/2006, à 19:42

aleph

Re : closed-source

Cher olivir (ou dois-je dire martinez?)

Je ne vais pas aller par quatre chemins, tes propos sont déroutants et incohérents. Aussi vais je me fendre de quelques remarques données ici en vrac et à prendre à bien plaire.

1) Que ton application soit fermée/prioritaire ou en ligiciel libre m'est bien égal.

2) Je ne peux que soutenir les propos de gene69.

3) Voici ce que je pense quand tu écris:

"Donc avant de sortir une version finale, j'ai besoin de faire tester mon prog, mais sans me faire piquer le code, histoire que quand sortira la version finale, des concurrents n'aient pas poussé par magie."

- Qui veux bien tester un application qui sera soi-disant en open source en version finale si les versions intermédiaires ne sont pas disponibles ?
- Pouquoi perdre son temps à tester une application dont on ne sait même pas, si les améliorations proposées seront acceptées ou au moins discutées ?
- Si la version finale sera en open source, pourquoi se fatiguer à tester les versions intermédiaires ? Il suffit d'attendre la version finale et voir ce que l'on peut améliorer.
- Tu est bien prétentieux de croire que la version dite finale sera ok et déboguée.
- Si tu as peur que la concurrence fasses mieux, c'est un aveu que ton application n'est pas bonne.

4) Tes propos sur ce message sont en contradiction avec ce que l'on lit sur ton site.

Plus spécifique à Python

4) Si tu veux une application fermée, Python n'est pas le bon cheval.

5) Il me faudrait au moins dix bonnes minutes pour décompiler tes pyc.

6) Si ton application utilise les bibliothèques Numpy, numeric, gnuplot ou matplotlib, je te conseille vivement de consulter les licences d'utilisation des dites libs. Cette recommandation est aussi applicable pour "la boîte qui se propose de distribuer mon produit".

7) A voir ton expérience en Python...

License

8) Je n'ai pas beaucoup d'expérience dans ce domaine. Créer sa propre license n'est pas sans difficultés. Elle n'a de sens que si ton produit est utilisé et reconnu par une communauté d'utilisateurs. Je ne vois pas trop comment, on pourrait appliquer une license à une application.

9) J'ai des applications en license GPL. Il semble que cela fonctionne pas si mal.
Deux anectodes.
- Un intéressé a poliment refuser d'utiliser du code que je proposais sur une liste de dicussion  - programmation - arguant la license GPL. Pas de problème, c'est son droit le plus strict.
- Il n'y a pas si longtemps, j'ai proposé sur une liste une ébauche d'application, mais fonctionelle . Quelqu'un outre atlantique l'a reprise et améliorée. Comme je n'avais pas le temps et l'envie de travailler à ce projet, j'ai proposé à ce quelqu'un de simplement changer le nom de l'application et d'en faire ce qu'il voulait. Ce qui fut fait. Aux dernières nouvelles, mon nom figure toujours dans le code source de la version améliorée.

10) Un point important. Si ton application Python est fermée (pyc) et que quelqu'un s'ingénie à décompiler tes modules - un vrai sport - et à les utiliser, voir les diffuser, tu ne pourras même pas argumenter que tu en as la paternité.

11) En résumé. Soit tu fais une application fermée avec clef, numéro de série, etc et pour cela tu utilises des produits idoines. Soit ton application est open source.
Une chose est certaine: ton argumentation est bancale. Si ton application est de la même veine, je n'en donne pas chère.

Désolé pour ces propos un peu secs. Je défends aussi un peu Python et ses moultes librairies et espère avoir un peu éclairé ta lanterne, comme l'on dit.

Mon site: http://www.chez.com/spinecho/

#8 Le 09/03/2006, à 20:17

olivir

Re : closed-source

Je n'ai pas vraiment de commentaire à faire.

Juste qu'utiliser Python n'impose ni de faire de l'open-source ni du gratuit. Que j'ai bien pris soin de signaler que je suis un fan de python et pas un pro. Que mon bidule est destiné à un domaine très particulier. Que tu m'étonnes par ton agressivité Jean-Mi. Que je me dis que vraiment sur les forums les gens n'hésitent pas à se lâcher et que dans ces moments-là j'apprécierais de les avoir en face de moi...
enfin bon, dommage le forum ubuntu-fr est par ailleurs très sympa.

Merci à tous ceux qui répondent avec courtoisie et sans mépris.

Dernière modification par olivir (Le 09/03/2006, à 21:26)


Olivier
"Le voleur parti
n'a oublié qu'une chose
la lune à la fenêtre."

Hors ligne

#9 Le 09/03/2006, à 22:21

aleph

Re : closed-source

Excuse moi si mes propos t'ont paru aggressifs. C'est n'était pas mon intention. En aucun cas, je crois y avoir mis du mépris. Il y a quand même ceraines vérités qui sont, ma foi, dures à entendre. (J'ai aussi avalé pas mal de couleuvres.)

Python n'oblige ni à faire du gratuit, ni de l'open-source. Mais une chose est certaine,
Python n'est pas facilement vérouillable, à moins de faire un peit tour par le C.

Un sujet à peu près identique est apparu, il y a quelques temps, sur la liste wxPython
http://lists.wxwidgets.org/cgi-bin/ezmlm-cgi?11:mss:47869:200602:hhnknamkjkkbfnogmiaf

#10 Le 11/03/2006, à 20:09

Sacre

Re : closed-source

Disons le franchement, il est impossible de protéger ton application juste en ne distribuant pas les sources smile

Déjà, en Python, comme il a été dit plutôt, il est relativement facile de pouvoir obtenir le bytecode des .pyc (y'a une module directement integré à Python pour ça) et après de l'interpréter afin d'obtenir quelque chose de compréhensible.

C'est le cas avec n'importe quel language de programmation, même du C, tu peux retrouver le code assembleur et parvenir un jour à refaire du code compréhensible.

Des codes obtenus de cette manière risquent en plus de ne pas du tout ressembler au tien original, donc dur dur à prouver après que l'on t'a copié.

Maintenant, toujours en considérant ton application "fermée", tu vas certainement distribuer des versions pas encore terminées mais possédant déjà tes fonctionnalités révolutionnaire. Si vraiment quelqu'un veut te faire de la concurence, il va simplement prendre la dite version, voir ces fonctionnalités, se dire: "ouah, super idée, je n'y avais pas pensé" et chercher un moyen d'implémenter la meme fonctionnalité dans son programme. Il n'aura même pas à décompiler ton programme, il aura juste à reflechir deux minutes et à faire un petit schéma avant de le coder.

Alors, franchement, je dirais que la GPL te protège bien mieux que tout. Tu pourras vendre ton produit, tu es juste obligé de donner les sources avec. Si quelqu'un te pique ton code ou s'en inspire, il en aura le droit uniquement du moment qu'il dit que tu en es l'auteur et qu'il distribue sa propre application sous GPL.

Si tu as peur du "je vend mon logiciel à x mais selon la GPL, x est autorisé a donner à y mon programme" ... ben si tu reflechis, du moment que x est une entreprise, elle ne va pas filer à y, son concurent, un logiciel que tu lui auras fait payer.

Donc il n'y a pas de soucis à mettre directement ton code en ouvert et appliquer une licence GPL dessus pour te protéger toi et ton programme.

Hors ligne

#11 Le 11/03/2006, à 20:36

olivir

Re : closed-source

Ah merci Sacre, voilà qui est bien clair et bien argumenté !

Et est-il possible de distribuer l'appli sans les sources, les sources n'étant données que sur demande ?!


Olivier
"Le voleur parti
n'a oublié qu'une chose
la lune à la fenêtre."

Hors ligne

#12 Le 11/03/2006, à 21:03

thx1138

Re : closed-source

olivir a écrit :

Et est-il possible de distribuer l'appli sans les sources, les sources n'étant données que sur demande ?!

Oui. Si je ne dis pas de bêtises, la GPL v2 stipule que tu dois pouvoir donner les sources si on te le demande.
Si on ne te les demande pas ...


They did not know it was impossible, so they did it - Mark Twain

Hors ligne

#13 Le 12/03/2006, à 00:01

gene69_pas_connecté

Re : closed-source

DE toute façon tu es proprietaire de ton travail.
Comme moi et comme microsoft pour le sien.

Par exemple sur mon blog je laisse du code assez naïf mais je n'authoriserai pas quelqu'un à faire un boucain avec  sans me laisser des royalty.

Je crois reconnaitre une démarche  de chercheur. On ne parle d'un sujet de recherche que lorsqu'on possede les résultats et qu'on va publier.

Tu peux tres bien laisser ton bytecode en téléchargement et si c'est vraiment bien, un vrai éditeur te contactera pour la forme, et d'autant plus facilement que ton code sera fermé... Si c'est extremement bien, tu sera plagié car on ne peut déposer un brevet sur les idées mais seulement sur les méthodes.

Et lorsqu'on comprend ce que fait un soft, les lois de la physiques sont les mêmes pour tous...

Bravo pour ton petit wink