Discussion autour des Libs!

Sujets variés concernant le développement en PureBasic
nico
Messages : 3702
Inscription : ven. 13/févr./2004 0:57

Discussion autour des Libs!

Message par nico »

Actuellement sur le Forum Anglais, il y a un débat sur les libs créé avec l'exellent outil Tailbite avec un sondage demandant si les fichiers sources des libs doivent être inclus ou pas.

Ce sondage me semble complètement hors de propos, chacun restant libre de garder ou de donner ses codes sources, c'est plus un problème de partage que de logiciel.

Mais je comprends la préoccupation des intervenants, car peu à peu sur le forum des codes apparaissent intégrant des libs utilisateurs, donc on aura de moins en moins de code exploitable, on peut très vite se retrouver avec une lib qui en appelle une autre d'où une frustation surtout que certaines libs deviennent incontournable comme celle de Gnozal pour la colorisation des gadgets.

Les personnes qui débutent se régalent de ses libs, mais lorsqu'il s'agira plus tard de commercialiser des progs (je reconnais que c'est loin d'être la majorité mais faut pas entérer le rêve pour autant) :lol: , ils se retrouveront un peu coincés. Mais de là à rendre public les sources pour que d'autres puissent les utiliser et vendrent des progs faut quand même pas abuser. :lol:

C'est sûr c'est pénible de devoir installer une lib pour faire tourner un bout de code, je reconnais que ça m'a gonflé au début!

Ils restent la solution PBOSL, encore que, c'est pas parce qu'on à le code source qu'on est forcément en mesure de corriger les difficultés rencontrées, mais c'est une excellente iniative; de plus si la licence LGPL est vraiment respectée par les utilisateurs, cela prend tout son intérêt!

Je vois d'un très bon oeil la possibilité de créer et de faire profiter des libs à d'autres, mais j'avoue que si le succès des libs est trop présent sur le Forum, j'en serais le premier énervé!

Tailbite tôt ou tard intègrera Pure, donc faudra bien s'attendre à une explosion de libs dans les années à venir....

....alors bien ou mal ?
Dr. Dri
Messages : 2527
Inscription : ven. 23/janv./2004 18:10

Message par Dr. Dri »

Pour moi Tailbite c'est le diable xD

En fait, depuis que créer une lib est aussi simple qu'un clic, les userlib ont proliféré... L'argument de l'open-source n'est pas entierrement hors de propos...

Dépendre d'une lib c'est aussi dépendre du code dont elle est issue... Une lib mal codée ca peut causer des problemes supplémentaires (sans parler des libs dépendant d'autre lib comme tu l'as souligné)

Ensuite, utiliser une userlib c'est en quelque sorte faire participer son auteur à son propre projet. Rien ne garanti qu'une lib sera mise à jour où recompilée à chaque nouvelle version de PB.

Personellement j'utilise le moins possible d'userlib. Pour le moment j'en ai aucune d'installée sur mon PC et ici j'ai la lib vector que je n'ai pas encore eu l'occasion d'utiliser dans un vrai projet...

Maintenant les avantages d'une userlib:
partager une fonction sans pourtant en dévoiler le code
précompiler des fonctions réutilisable allège les codes sources qui en ont besoin
(et y'en a probablement d'autres =)

Dri ;)
comtois
Messages : 5186
Inscription : mer. 21/janv./2004 17:48
Contact :

Message par comtois »

j'ai utilisé une seule fois une lib et j'ai été emmerdé lors d'un changement de version de PB, ça ne fonctionnait plus !

Pour que j'utilise une lib à l'avenir , il faudra que le code source soit dispo.
Si elle est beaucoup utilisée ,même si je ne suis pas capable de faire évoluer la lib ou la corriger, on peut espérer que quelqu'un sera capable de le faire.

Bref je n'ai pas envie d'être dépendant de la bonne volonté d'un autre , bien que je ne fasse que des bricoles.D'ailleurs c'est peut-être parce que j e ne fais que des bricoles que je n'ai pas vraiment besoin de lib :)

C'est un choix personnel , libre à chacun de faire comme il l'entend ça va de soi.

Voila pourquoi je laisse dispo le code de M3D_Matrix3d et puis aussi celui de CAR_Collision3D ( c'est pas encore une lib , mais le code est déjà disponible sur le forum).
Je laisse aussi ces codes pour une autre raison , je garde l'espoir que quelqu'un s'y intéresse et apporte du sang neuf en ajoutant ou en corrigeant des fonctions.C'est pas encore le cas , mais bon , j'aurai au moins essayé :)
http://purebasic.developpez.com/
Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.
Avatar de l’utilisateur
Jacobus
Messages : 1559
Inscription : mar. 06/avr./2004 10:35
Contact :

Message par Jacobus »

Question : Pourquoi y a t-il des librairies utilisateurs?
Réponse : Bien souvent elles sont créées à cause d'un manque dans PB.
Conclusion : Plus PB évoluera (vivement la 4) moins il y aura besoin de libs extérieures.

D'un autre côté, heureusement qu'il y a des programmeurs de libs, ça permet quand même de passer rapidement sur un obstacle sans bloquer x temps pour continuer un prog. Ce serait quand même domage de devoir réinventer la roue à chaque fois. La rubrique Trucs et astuces et le forum en général est là aussi pour ça... permettre d'avancer. Et puis utiliser une librairie c'est faire honneur au travail de celui qui l'a fait.

Quant à dévoiler les sources, libre à chacun de le faire ou non.
Il y a quelques temps j'ai demandé à Paul Leischow si je pouvais utiliser une de ces libs dans un programme commercial. Il m'a répondu oui et s'est aperçu qu'il avait oublié de le signaler dans la licence d'utilisation de sa lib. Il est donc aller le rajouter dans la foulée.
Une simple phrase pour les codeurs de libs suffit à renseigner illico:
Free for personnal or commercial use. Comme ça on est tout de suite fixé.

Rien n'empêche d'utiliser des userlibs avec une version de PB et non avec une autre version. Donc même si une lib ne fonctionne plus après une mise à jour de PB tu peux toujours la faire fonctionner si tu conserve la version antérieure.

En tout cas MERCI à tous les codeurs de Librairies. :D
Quand tous les glands seront tombés, les feuilles dispersées, la vigueur retombée... Dans la morne solitude, ancré au coeur de ses racines, c'est de sa force maturité qu'il renaîtra en pleine magnificence...Jacobus.
comtois
Messages : 5186
Inscription : mer. 21/janv./2004 17:48
Contact :

Message par comtois »

Quant à dévoiler les sources, libre à chacun de le faire ou non.
Exactement

Et libre à chacun d'utiliser ou non ces libs .

En fait il n'y a pas vraiment de débat , les libs c'est un plus , on prend ou on ne prend pas , mais en aucun cas c'est le diable :)
http://purebasic.developpez.com/
Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.
Avatar de l’utilisateur
Chris
Messages : 3731
Inscription : sam. 24/janv./2004 14:54
Contact :

Message par Chris »

Pour moi, les libs c'est la plaie de PureBasic.

C'est pratique, c'est vrai, mais quand on voit le nombre de libs qui sortent sur tout et n'importe quoi, je suis étonné qu'il n'y ait pas plus de cas ou deux libs sont incompatibles et provoquent des conflits.

Moi, c'est simple, je n'en installe plus, et tous les codes à essayer qui demandent l'installation d'une librairie, je les laisse là ou ils sont.

J'ai viré la quasi totalité de celles que j'avais, et les deux ou trois que j'ai faites, si les codes source ne sont pas toujours dans l'archive, il suffit de me les demander.

Comme Comtois, si j'installe une lib, il faudra que j'ai le code ou que je soit sûr de pouvoir contacter l'auteur pour les mises à jour.

Et en plus, si la lib est faite par un français, il faudra que le fichier d'aide soit en français, parce que je suis fainéant et que j'ai pas envie de faire la traduction :lol:
Guimauve
Messages : 1015
Inscription : mer. 11/févr./2004 0:32
Localisation : Québec, Canada

Message par Guimauve »

Personnellement, j'ai plein de petites librairies que j'ai codé moi-même en PB et transformé en librairie avec tailbite. Pourquoi je fais ça :

1. Pour avoir des procédures avec des paramètres optionnels.
2. Pour des routines qui peuvent être utiliser dans plusieurs programmes.
3. Pour ne pas inclure des procédures non utilisées dans le fichier exe.

Dans certain cas les librairies que j'ai fais pourraient être utile à d'autre programmeur, mais le problème avec les UserLibs c'est que bien souvent, ça ne fait pas très exactement ce que l'on veut. De plus, il y a autant de méthodes de programmer qu'il y a de programmeur dans le monde.

Les codes sources des librairies PBOSL, misère...

Elle ne sont pas mal codé pour la pluspart, mais le code est affreux. Lire le code est de 1000 à 10 000 fois plus long que de tout réécrire le code à partir de zéro.

En résumé, les Userlibs autres que celles que je fais moi-même, j'en utilise aucune. Pas même pour faire des tests. Avoir les codes sources des librairies, a mon avis à moins que tout le monde utilise les mêmes normes très rigide d'écriture du code, c'est plus une perte de temps qu'autre chose.

A+
Guimauve
Heis Spiter
Messages : 1092
Inscription : mer. 28/janv./2004 16:22
Localisation : 76
Contact :

Message par Heis Spiter »

Pour ma part, j'ai déjà créé plusieurs libs, et à la création de PBOSL, je les ai rendues Open-Source et les ai envoyé à PBOSL. Je pense que dans le cadre du PureBasic qui est un language qui évolue encore beaucoup, rendre ses libs O-S est une sécurité non pas pour le développeur, mais pour l'utilisation. En effet, tout le monde se souvient du passage en 3.9 qui a eu pour résultat la non-comptatiblité de la majorité des libs. Et pour certaines, elles ne fonctionnent toujours pas, faute de mises-à-jour, le développeur étant parti, et le code source aussi. De plus l'Open-Source permet aussi d'assurer un certaine liberté à l'utilisateur, qui peut alors, s'il le désire rendre son programme (avec libre) sous license GPL sans la violer. Et puis protéger son code source me paraît en majeur partie absurde. Ce que quelqu'un a su faire, un autre saura le faire (sauf cas extrêment rares, et encore) avec plus ou moins de temps, certes, mais ce sera refait. Alors autant épargner du temps et de suite fournir le boulot ;).
Heis Spiter, webmaster du site http://www.heisspiter.net
Développeur principal et administrateur du projet Bird Chat
Parti courir au bonheur du dév. public et GPL :D
Avatar de l’utilisateur
Flype
Messages : 2431
Inscription : jeu. 29/janv./2004 0:26
Localisation : Nantes

Message par Flype »

Moi j'en utilise très peu ( PBOSL, MoreGadgetList, PureCOLOR, PureLVSORT ), et les miennes.
Et comme vous çà m'énerve, même si parfois c'est quand même bien utile.

Comme vous le soulignez, çà pourrait bientôt devenir une plaie.
C'est pourquoi je propose une solution afin de rendre PureBasic plus flexible :

1/
avoir une connection internet.
à l'exécution du programme, si une fonction n'est ni reconnue comme étant une fonction purebasic, ni une fonction api, ni une fonction userlib, ni une procédure, alors le système de purebasic se connecte à un site du genre www.pbosl.purearea.net/userlibs/catalog ... getColor(). Si la fonction y est trouvée alors le téléchargement/installation est proposé à l'utilisateur, ou effectué automatiquement si l'option est activée. Enfin le compilateur est redémarré automatiquement et le programme se lance.

2/
dans un tel système, le développement de userlibs doit être plus strict qu'actuellement. Ainsi il faudrait imposer le développeur à préciser via un protocol précis les userlibs dépendantes (récursivement), les userlibs incompatibles (conflits éventuels), description de l'installation, version de purebasic compatibles, etc...

3/
un gestionnaire de userlibs intégrée à l'éditeur devrait être inclus permettant d'installer, désinstaller celles-ci, de télécharger, de voir les plus utilisées, celles qui servent jamais, etc...

4/
l'accès à l'hébergement ne serait proposé qu'aux auteurs open-source.

5/
la recompilation des userlibs du site seraient systématique après chaque mises à jour de purebasic. les anciennes archivées. et via le système décrit plus haut purebasic, en fonction de sa version, installerait les versions de userlibs adéquates.

linux, en particulier la debian, le fait depuis longtemps un système pareil.
à une époque je programmais en python dessus, et il suffisait (c'est génial) de faire une commande (me souviens plus trop) apt-get userlib et tout s'installait tout seul depuis internet. ca existe c possible alors pourquoi pas. Qu'en pensez-vous ?
Dernière modification par Flype le jeu. 26/janv./2006 21:42, modifié 1 fois.
Image
Polo
Messages : 612
Inscription : sam. 03/juil./2004 20:14

Message par Polo »

Je n'en utilise pas pour ma part.
Pourquoi ? Tailbite, c'est bien, cependant, j'aurais préféré que les libs soient créées directement par le compilateur de Purebasic, ce qui serait plus rapide. On m'a répondu que c'est pas pour maintenant, car la structure interne de Pure change trop rapidement... ça m'étonne un peu qu'un programme aussi "vieux" change sa structure si souvent, mais bon...
En tout cas, ce que je constate, c'est que le système de librairies de Blitzmax est très évolué, très pratique aussi, je dois dire. Le seul truc, c'est que j'aime pas Blitzmax (syntaxe, taille des exe, prix, ...)
bernard13
Messages : 1221
Inscription : mer. 05/janv./2005 21:30

Message par bernard13 »

je vous paye assez cher pour les libs
Heis Spiter
Messages : 1092
Inscription : mer. 28/janv./2004 16:22
Localisation : 76
Contact :

Message par Heis Spiter »

???
Heis Spiter, webmaster du site http://www.heisspiter.net
Développeur principal et administrateur du projet Bird Chat
Parti courir au bonheur du dév. public et GPL :D
julien
Messages : 846
Inscription : ven. 30/janv./2004 15:06
Contact :

Message par julien »

bernard13 a écrit :je vous paye assez cher pour les libs
Y'en a bien qu'un... :lol:
bernard13
Messages : 1221
Inscription : mer. 05/janv./2005 21:30

Message par bernard13 »

estce que vos libs seront compatibles avec la nouvelle version de PB ?
nico
Messages : 3702
Inscription : ven. 13/févr./2004 0:57

Message par nico »

Tu t'arrêtes jamais toi .... :evil:
Répondre