IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Java Discussion :

Modifier les méthodes de JDK et la licence de Java


Sujet :

Java

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    avril 2008
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : avril 2008
    Messages : 61
    Points : 39
    Points
    39
    Par défaut Modifier les méthodes de JDK et la licence de Java
    Bonjour,
    Je voudrais savoir si je prend une classe de JVM (les classes développées par Sun qui existent dans JDK) et la modifie un peu, est-ce que je pourrais l'utiliser dans une application commerciale ?
    Par ex. si je prend la source de la classe "List" et modifie quelques méthodes dans cette classe et ensuite l'appeler "newList" et après faire une application commerciale dans la quelle j'utilise cette nouvelle classe "newList". Est-ce permit d'après la licence de Java ?

    Sinon, quelles sont les options? Si par ex. je récris cette classe "newList" moi-même qui ressemble à la classe "list" de Java (qq chose dans le genre copie-coller avec certaines modifications) ou utiliser le OpenJDK?

    Merci de vos aides
    A++

  2. #2
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : avril 2002
    Messages : 13 938
    Points : 23 015
    Points
    23 015
    Billets dans le blog
    1
    Par défaut
    Salut,


    OpenJDK est sous licence GPL. Si tu en récupères et/ou modifies du code tu devras utiliser la licence GPL...

    a++

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    avril 2008
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : avril 2008
    Messages : 61
    Points : 39
    Points
    39
    Par défaut
    Merci pour la réponse rapide,

    Alors cela veut dire qu'on doit pas utiliser OpenJDK car on pourra pas commercialiser l'application.

    Dans ce cas, qu'est-ce que je dois faire ? J'imagine que cela pourrait arriver souvent dans les applications avancées que les classes par défaut de JDK ne sont pas adaptées par ex au niveau des entrées/sorties et on souhaite modifier un peu ces classes. On a droit utiliser ces classes dans une application commerciale mais on a pas droit les modifier ? si je change le nom de méthodes et de variables et change un peu les méthodes, cela ne sera plus la même classe faite par Sun... n'est-ce pas.?

    Merci

  4. #4
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : avril 2002
    Messages : 13 938
    Points : 23 015
    Points
    23 015
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par hassanJava Voir le message
    Alors cela veut dire qu'on doit pas utiliser OpenJDK car on pourra pas commercialiser l'application.
    Non : tu peux très bien utiliser OpenJDK avec une application commerciale, la licence le permet très bien.

    C'est la modification d'OpenJDK ou la réutilisation de partie de son code qui implique l'utilisation de la GPL.



    Citation Envoyé par hassanJava Voir le message
    Dans ce cas, qu'est-ce que je dois faire ?
    Précises ce que tu veux faire exactement...

    Citation Envoyé par hassanJava Voir le message
    si je change le nom de méthodes et de variables et change un peu les méthodes, cela ne sera plus la même classe faite par Sun... n'est-ce pas.?
    Si tu copies directement le code cela ne change pas grand chose...

    a++

  5. #5
    Membre habitué Avatar de h472009
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    août 2009
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Maroc

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Service public

    Informations forums :
    Inscription : août 2009
    Messages : 86
    Points : 163
    Points
    163
    Par défaut
    Bah,

    Tu peux créer tes propres classes, en héritant de la classe voulu dans l'OpenJDk, comme ça tu pourra profiter de ce qu'il y a et tu peux en rajouter d'autres fonctionnalités.

    en tout les cas la modification de la JDK en elle meme ne pourra pas etre faite dans le cadre d'une application Commerciale, mais cela m'étonnera, car on ne sera obligé de faire cela que dans le cas de vouloir faire une jdk-like, donc un java-like, mais dans le cas d'une application qui sera en java, l'usage des héritages ou des interfaces à ma fois suffira.

    Je parle en général, donc si j'ai mal compris, essaye d'expliciter un peu ton problème
    The Matrix has you.....

  6. #6
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : avril 2007
    Messages : 25 481
    Points : 48 794
    Points
    48 794
    Par défaut
    Jamais de ma vie je n'ai eu besoin de modifier une classe de la JDK, il n'y a donc pas de raison que tu aie besoin de le faire je pense. Tu devrais plutot penser un peu plus objet. Une class java, tu peux en hériter, tu peux aussi utiliser un pattern de delegation pour t'en servir, etc. Il n'y a pas assez de méthodes sur l'interface List? Ben créer une nouvelle List séparée, qui étend List et rajoute les méthodes qui te manque. De même étends alors par exemple ArrayList et fait implémenter à ta nouvelle classe l'interface NewList.

    Exemple tout bete:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    public interface NamedList extends List {
        public String getName();
        public void setName(String name);
     
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    public class MaList extends ArrayList implements NamedListe {
        private String name;
     
        public MaList(){}
        public MaList(int capacity){super(capacity);}
        // etc idem avec les autres constructeurs
        //
        public String getName(){return name;}
        public void setName(String name){this.name=name;}
     
    }
    Et voilà, t'as une liste nommée.

Discussions similaires

  1. Ou trouver des exemples d'utilisation de toutes les méthodes du JDK
    Par vandeyy dans le forum Débuter avec Java
    Réponses: 3
    Dernier message: 04/03/2014, 16h46
  2. Réponses: 8
    Dernier message: 10/12/2009, 17h55
  3. [JDK 5.0] Les méthodes isSynthetic() et isBridge() ???
    Par pitoubicou dans le forum Langage
    Réponses: 1
    Dernier message: 23/03/2006, 20h06
  4. [VBA-E]modifier les attributs d'un commentaire dans une cellule
    Par Olivier vb dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 15/03/2004, 11h26
  5. [EXCEL]Modifier les marges d'une page dans Excel
    Par ms91fr dans le forum Composants VCL
    Réponses: 4
    Dernier message: 06/01/2004, 16h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo