[PS3] Libreria SDL Adaptada

Wenas :)

Desde hace un tiempo, tengo la PS3 y llevo unos dias mirando cosillas...

Una de ellas, ha sido trabajar con SDL, en PS3, donde me he encontrado con una serie de problemas, ya que PS3 utiliza un metodo distinto a la hora de fijar los modos de video, etc.

El resultado, ha sido que ahora se pueden utilizar todos los modos de video soportados bajo Linux, a simple o doble buffer, sincronizando con vsync y añadiendo alguna que otra funcion a las SDL.

Por ejemplo, la funcion SDL_GetVideoSystemMode(), nos devuelve el modo de video en el que está trabajando Linux y de esa forma, internamente, se seleccionan los modos interlazado de forma automatica, pero he considerado importante proporcionarla de forma externa, para que podais determinar si alguien está utilizando un modo interlazado en un TV y por tanto, no podría ver un modo progresivo a 720P

Tambien incluyo la funcion SDL_WaitVsync() por si se utiliza un unico buffer, asi como un flag para poner el video como RGB (por defecto la salida es YUV)

Mirad el fichero notas.txt para obtener mas detalles sobre los modos de video usables.

Por cierto, la profundidad de color es a 32 bits y el PPE, se caga vivo para rellenar el buffer de video en muchas resoluciones.... razón por la que estoy trabajando tambien en el uso de los SPE, donde ya dispongo de un sistema para dibujar triangulos utilizando hasta 4 SPE simultaneos (debido a las limitaciones de memoria, cada SPE renderiza un scan de video )

No tengo muchas esperanzas en que este soporte 3D sea eficaz, debido sobre todo a las restricciones de acceso a memoria de los SPE y que el fill rate se resiente, pero si que puede resultar interesante para apoyar en el dibujado de sprites y hacer otras historias

De momento, aqui teneis lo de las SDL:

http://mods.elotrolado.net/~hermes/PS3_SDL_1.2.12.zip


Por cierto, parece que las SDL necesita permisos de root para poder bloquear la consola y pedir exclusividad.

Saludos.
Biblia de hermes capitulo 6 versículo 8 : Y hermes dijo te alejarás de la SDL e intentarás gastar software sin licencia GPL .

xD

Que te ha hecho cambiar de idea? por mi perfecto eh! jejeje pero me parece raro intenta que el port tenga soporte 3D y ya será la polla.
saulotmalo escribió:Biblia de hermes capitulo 6 versículo 8 : Y hermes dijo te alejarás de la SDL e intentarás gastar software sin licencia GPL .

xD

Que te ha hecho cambiar de idea? por mi perfecto eh! jejeje pero me parece raro intenta que el port tenga soporte 3D y ya será la polla.



Pues verás, la cosa es muy sencilla: Yo ya he publicado codigo bajo GPL (gp2x) y no tengo ningun inconveniente en seguir haciendolo (sobre todo cuando no te queda mas remedio o es la filosofia que impera en esa comunidad)

La licencia de las SDL, es LGPL, aunque parece que el creador ha metido un par de restricciones extra, que basicamente se resumen en que si usas la SDL enlazando con la libreria dinámica, tu programa puede seguir teniendo una licencia propietaria si quieres, pero no si lo haces usando libreria estatica (en ese caso, seria LGPL o GPL, como gustes)

Si no recuerdo mal, la LGPL en si misma, se utiliza en librerias de apoyo y te permite enlazar como libreria estatica y el unico requerimiento, es suministrar los cambios que introduzcas en dicha librería.

La licencias GPL no son tan malas... solo que hay gente muy aprovechada (y gente que tiene mala leche) y a mi particularmente, la GPL me parece demasiado vírica y tambien suele ser un problema (de tamaño), tener que suministrar fuentes y binarios en algunos casos. Pero pensandolo friamente ¿Que tengo yo que perder?

Evidentemente, si se da el caso de que tengo acceso al hardware, como en PS2, PSP, NDS, prefiero o bien seguir las licencias habituales en dichas maquinas o una propia que por lo general, te permite hacer de todo, pero no contempla la comercializacion del producto (por ejemplo, en NDS, las librerias se licencian absolutamente libres para que hagas lo que quieras con ellas y esa misma licencia es la que uso yo)

En PS3 (Linux), lo normal es que te encuentres LGPL o GPL y a mi no me gusta utilizar código creado por otra persona disfrazandolo para ponerle otra licencia... y opino tambien que es mas interesante aplicar los cambios a una libreria que soleis utilizar muchos de vosotros, que crear una propia que utilice los mismos métodos y no proporcione ninguna ventaja...

El codigo que estoy desarrollando para SPE, seguramente sea tambien LGPL, pero puesto es un ejecutable que se comunica mediante DMA con el tuyo propio, esa licencia no afecta en absoluto a tu ejecutable (sobre todo si enlazas libspe, que es LGPL de forma dinamica) y si quieres mantener tu programa fuera de estas licencias, puedes.

No se si yo haré mucho en PS3 o poco, pero mis programas seguramente los publique bajo GPL (si, la licencia del "demonio" XD), mas que nada, porque desde Linux esa es la filosofía y por lo general, a mi no me importa publicar codigos fuentes (salvo cuando pienso que de alguna forma, una comunidad que rodea una maquina, no se lo merece, como en el caso de PS2)

Asi que ya lo ves: a pesar de que creo que la GPL no es el modelo a seguir y estoy en desacuerdo con algunas cosas (sobre todo el que no puedas restringir el uso comercial, que es lo que para mi convierte estas licencias en un lobo con la piel de cordero) eso no es ningun impedimento para que no pueda trabajar y publicar bajo esas licencias.


Por cierto, despues de este tocho, me gustaria saber cuanta gente hay interesada en programar bajo Linux en PS3 y si andais tramando algo :)
pues la verdad es que me tienta la capacidad que tiene pero creo que no la podría acabar de usar bien ... aunque bueno siempre se pueden hacer experimentos interesantes, sobre todo me gustaría hacer algo que jugase mucho con la física que eso me encanta :).

luego si portas la SDL no tendría inconveniente de portar mis trabajos a ps3 sobre todo el juego de lucha que estoy realizando con un compañero ese me gustaría siempre se podrían poner muchisimas más cosas que la versión de psp.

por cierto ya se puede gastar la gráfica en el homebrew es decir acceso total al 3D? esque no estoy muy puesto al día.

por cierto tienes pensado programar algo para el giroscópio de PSP?? a mi me tienta mucho la verdad el xico este de neoflash me ha dicho que me regalará uno para que experimente :) así que perfecto.

pd: no os recomiendo decodificar los campos de una tarjeta de 1k en 2 días ... os volvereis locos!!! que dolor de cabeza por diossss.
Querido rey hermes, este año he sido muuuuuy bueno [angelito] y queria agradecerte que me hayas regalado un port de SDL [tadoramo]

Yo desde luego puedes estar seguro que hare uso de la SDL sea en la plataforma que sea, ahora por otro lado no me he puesto en la scene ps3, ¿necesito instalarle el linux para hacer lo q sea no?
Eskematico escribió:Querido rey hermes, este año he sido muuuuuy bueno [angelito] y queria agradecerte que me hayas regalado un port de SDL [tadoramo]

Yo desde luego puedes estar seguro que hare uso de la SDL sea en la plataforma que sea, ahora por otro lado no me he puesto en la scene ps3, ¿necesito instalarle el linux para hacer lo q sea no?


Si, necesitas una instalacion de Linux, aunque hay por ahi algun fuente para trabajar directamente desde el modo kernel (creo que dispone de soporte para teclado, dispositivos de memoria USB y por supuesto, acceso a pantalla)

El tema es que las licencias son, o LGP o GPL en su mayoria. Por ejemplo, he estado mirando el tema de instalar compiladores cruzados en el PC, pues de momento,estoy desarrollando desde la propia PS3 y hay librerias como altivec.h que son GPL, asi que quien tenga reparos en usar estas licencias, es mejor que no se meta en faena (pero weno,
el señor Eskema que ademas gusta de SDL, sabra que en gp2x las SDL eran publicadas con licencia GPL)


Lo que si quiero dejar clara es una cosa: por alguna razon que no conozco, ya sea por la virtualizacion de memoria o por el soporte multitarea de Linux en PS3, la transferencia de datos a la memoria de video es bastante baja.

Por ejemplo, a 1280x720p, una rutina que simplemente, se dedique a rellenar la pantalla con un color, en bucle que se repite 600 veces (pensado para 60FPS y 10 segundos) sin sincronizar pantalla, consume mas o menos 4 segundos, lo cual me parece mucho tiempo.

Pero lo curioso es que consume mas o menos igual, si optimizo el salto de scan con una suma, que si hago una multiplicacion para averiguar el scan para cada pixel (!), lo cual me da por pensar que la perdida de rendimiento se debe a tareas que se ejecutan en paralelo.

Curiosamente, un SPE tiene una transferencia similar, teniendo en cuenta que aqui en mi test, primero leia el scan de video mediante DMA a un buffer local, luego rellenaba el buffer local con un color y finalmente, lo enviaba mediante una nueva DMA, lo cual demuestra que hay "algo" que penaliza bastante al PPE.

Pero lo bueno es que tenemos SPE de sobra para hacer figurines y si utilizas cuatro SPE, se cuadruplica la velocidad.

Los SPE tampoco los teneis que ver como si fueran el coco: estan ahi, se pueden programar en C y dedicarlos para lo que os de la gana, con sus limitaciones y no hay en ningun sitio escrito que deban ser utilizados para rendir al maximo con la maxima eficacia... si no que pueden ser aprovechados para hacer una tarea poco eficaz pero que uniendolos en numero, ofrezcan el rendimiento que necesitamos.

De hecho es divertido: yo he diseñado un programita que se puede compartir en uno, dos o cuatro SPE, donde le paso una pequeña estructura de datos para que estos se enteren como deben de trabajar y en que momento, y ellos me renderizan unos simples triangulos en pantalla (todavia me quedan que pulir cosas)

No es tan eficaz como una GPU (ni mucho menos, por desgracia) pero es como si estuvieras inventando hardware y supongo que algo se puede hacer (en realidad, el rendimiento depende mas del numero de pixeles que emplee cada triangulo, que del numero de triangulos en si mismo). tambien hay que tener en cuenta que la limitacion de memoria de un SPE, limita el tamaño de las texturas, si se quiere hacer uso de texturas en el triangulo.

Sin embargo, en 2D no tienes porque sufrir problemas de almacenamiento, pues podrias estar leyendo un scan del sprite mediante DMA y copiarlo al scan de pantalla sin tener problemas de tener que almacenar todo el sprite en la memoria del SPE.

Quiza no sea muy eficaz el sistema, pero que carajo: tienes 7 SPE para trabajar como te plazca, mas el PPE, asi que que mas dará si para que rinda el programa usas 1 o 7 SPE, si los usas al 100 % o al 50%, sui cumple con su cometido y tu te lo pasas pipa "inventando" hardware con ellos XD

Esta es mi primera experiencia de programacion bajo Linux, pues aunque en dos ocasiones he instalado Linux en el PC, nunca ha sido un sistema que me atraiga, porque bajo Windows, he podido hacer de todo, pero pienso que podria modificarse el arranque de alguna distribucion para poder elegir si se arranca con una configuracion minimalista y usando un kernel mas adaptado al arranque de aplicaciones en modo exclusivo y ganar asi rendimiento
o entrar en un Linux digamos, mas completo.

Tambien pienso que en vez de lamentarnos con las carencias del Linux de PS3, lo mejor sería aprovechar sus virtudes e incluso es posible que SONY tratase de remediar de alguna forma esas carencias, si ve que hay una comunidad muy activa que se ve frenada por esas carencias, en vez de una comunidad "pasota" que al primer tropezón se desanima.
La verdad es que leyendo lo que dices soy un autentico parasito, creo que deberia alejarme de la programacion.
Veras a mi las licencias me importan un pito, si es gpl, lgpl o la leche de vaca, yo hago un juego por puro entretenimiento (vaya mierda entretenimiento con el curro que lleva XD), uso SDL desde que la conozco y no libero ningun source ni pienso hacerlo, porque considero que a nadie le importa como hago una funcion de disparar o de saltar en mi juego, a pesar de que he sido criticado muchas veces pq al trabajar con SDL deberia liberar mis trabajos......
Eskematico escribió:La verdad es que leyendo lo que dices soy un autentico parasito, creo que deberia alejarme de la programacion.
Veras a mi las licencias me importan un pito, si es gpl, lgpl o la leche de vaca, yo hago un juego por puro entretenimiento (vaya mierda entretenimiento con el curro que lleva XD), uso SDL desde que la conozco y no libero ningun source ni pienso hacerlo, porque considero que a nadie le importa como hago una funcion de disparar o de saltar en mi juego, a pesar de que he sido criticado muchas veces pq al trabajar con SDL deberia liberar mis trabajos......


Bueno, a mi lo que me jode es que yo haga un juego enterito desde la nada y por el hecho de utilizar una libreria (ya sea dinamica o estatica) bajo GPL (del tipo descompresor de algo o de acceso a un driver), me vea obligado a tener que publicar mi trabajo con esa licencia. Es que me pone un poco de mala leche, a pesar de que no me importa liberar el fuente

Otra cosa es que pilles un programa con esa licencia, le hagas unos cambios y tengas que aceptar esa licencia, pero ¿por acceder a un driver o descomprimir un zip o alguna chorrada de esas?

Que si, que yo veo bien por ejemplo, que yo pille las SDL unas librerias genericas y me vea en la "obligacion" de publicar los fuentes con los cambios, porque eso es de interes GENERAL (de hecho, los publicaría aunque no tuviera obligacion, excepto en PS2 porque la puse en la lista negra [plas] ), pero vamos, que veo ridículo que una licencia trate de "usurpar" mi trabajo de esa forma y que encima permita a personas que no han intervenido en nada en absoluto, lucrarse con MI trabajo, si tienen oportunidad (cuando yo no me lucro y como tu dices, me meto un currele que te cagas gratis y al fin y al cabo, comparto mi trabajo gratis)

Pero dicho esto, tambien hay que tener un poco de mano izquierda a veces y no cerrarse en banda: es importante a veces disponer de esos fuentes y por ejemplo, a ti a lo mejor lo de la rutina de disparo, lo tienes superado pero hay gente que no y le es util, aparte de que
si toqueteando cuatro cosas, tu juego puede ser portado a otra maquina y seguir siendo disfrutado, es un beneficio para la comunidad y al fin y al cabo, tu sigues siendo el autor y esas licencias tratan de proteger tu autoría (weno, hasta cierto punto... porque la FSF no tiene dinero para meterse en todos los fregados y yo recuerdo un problema de la gente de Mplayer por una violacion de licencia del reproductor Kiss y la FSF no se metia en el ajo por falta de presupuesto X-D)

A mi por ejemplo, me gustaría hacer publico el código de mi programa Guitarfun una vez portado para PS3 y bajo licencia GPL y de ahí se podría portar hacia PC facilmente y seguir siendo desarrollado por otras personas y que llegue a un publico mas amplio (aunque ya veremos si se deja portar, pues hay muchas dificultades que resolver, pero muchas)
gracias hermes por ese punto de vista tuyo tan didactico, nunca me habian explicado el tema desde esa perspectiva. Como dices yo creo q la liberacion deberia ser algo personal, si crees q puede servir a mas gente lo liberas, si no pasando del tema.
A ver si tengo un rato para ponerle el linux a la ps3 y voy mirando que tal va el 2d en ese port de SDL :)
Si no os gusta la licencia no la useis y hos haceis vuestra propia biblioteca.

¿Acaso alguien os ha obligado a usar SDL?

Si la usas se supone que aceptas su licencia.

Es como si yo voy a un banco y pido un prestamo y les digo:

"Si si, el dinero se lo pienso devolver,pero cuando a mi me de la gana y ya pueden irse olvidando de los intereses"
[qmparto] [qmparto] [qmparto] [qmparto]
wah_wah_69 escribió:Si no os gusta la licencia no la useis y hos haceis vuestra propia biblioteca.

¿Acaso alguien os ha obligado a usar SDL?

Si la usas se supone que aceptas su licencia.

Es como si yo voy a un banco y pido un prestamo y les digo:

"Si si, el dinero se lo pienso devolver,pero cuando a mi me de la gana y ya pueden irse olvidando de los intereses"
[qmparto] [qmparto] [qmparto] [qmparto]


"¿Por que no te callas?"


[qmparto] [qmparto] [qmparto]

Siempre tiene que saltar el tipico listo que debe creerse superior a los demás o algo así y porque el tiene un "credo" los demas tienen que compartirlo a rajatabla.

O es eso, o no entiendo tu enfado: macho, relajate, que estamos comentando entre dos, lo que nos parece o nos dejan de parecer esas licencias y como es OBVIO si la uso, acepto la licencia, pero eso no quiere decir que tenga que compartir a pies juntillas su filosofía, al igual que prefiero divertirme a ir a trabajar y sin embargo, cumplo con mi trabajo (lo cual no quiere decir que no se puedan criticar cosas y dar mi punto de vista).

De hecho, tiene mas merito una persona que la usa estando en desacuerdo con algunos terminos, que otro que está completamente de acuerdo y mira, si me da la gana, puedo utilizar codigo GPL o LGPL junto con codigo propietario SIN INCUMPLIR en absoluto las licencias y sin necesidad de dar el fuente de mi código propietario, asi que fijate tu que problema XD
Hermes escribió:
"¿Por que no te callas?"


[qmparto] [qmparto] [qmparto]


Por que usted no es nadie para mandarme callar.

Hermes escribió:Siempre tiene que saltar el tipico listo que debe creerse superior a los demás o algo así y porque el tiene un "credo" los demas tienen que compartirlo a rajatabla.


¿Cuando he dicho yo que sea superior?

Yo solo he apuntado a lo obvio, y es que si quieres aprovecharte del trabajo que muchas personas han vertido (desinteresadamente la mayoría de las veces) en un proyecto,que menos que cumplir y aceptar la licencia con la que se te otorga dicho beneficio.

Hermes escribió:O es eso, o no entiendo tu enfado: macho, relajate, que estamos comentando entre dos, lo que nos parece o nos dejan de parecer esas licencias y como es OBVIO si la uso, acepto la licencia, pero eso no quiere decir que tenga que compartir a pies juntillas su filosofía, al igual que prefiero divertirme a ir a trabajar y sin embargo, cumplo con mi trabajo (lo cual no quiere decir que no se puedan criticar cosas y dar mi punto de vista).


Estais comentando entre los 2 en un foro público,por lo que cualquier persona que pase por aqui puede comentar lo que bien le venga en gana.

Teneis tanto derecho a comentar lo que os parece la licencia de la libsdl como yo a comentar lo que pienso de los que no dudan en aprovecharse de ella eso si poniendole mil pegas,si no te gusta no la uses asi de claro.

Hermes escribió:De hecho, tiene mas merito una persona que la usa estando en desacuerdo con algunos terminos, que otro que está completamente de acuerdo y mira, si me da la gana, puedo utilizar codigo GPL o LGPL junto con codigo propietario SIN INCUMPLIR en absoluto las licencias y sin necesidad de dar el fuente de mi código propietario, asi que fijate tu que problema XD


El mérito es lo de menos y queda en la conciencia del que use el código,lo que importa es que se cumpla la licencia.

De todas formas no entiendo vuestras quejas si no recuerdo mal la libsdl tiene licencia LGPL por lo que no hay por que liberar ningún código que enlaze a ella.
wah_wah_69 escribió:
Por que usted no es nadie para mandarme callar.



es hermes... quien te crees que le dijo que se sentara al presidente después de que mandara a cayar a chavez ;)

a ver aquí se está exponiendo que una persona que está acatando una licencia que no le gusta y bueno eso se ha de respetar porque uses algo no has de estar de acuerdo con su licencia... Si cumples lo que dice pues perfecto el problema es si te kejas y luego haces lo que te da la gana
wah_wah_69 escribió:
Por que usted no es nadie para mandarme callar.


Por supuesto, era broma ;)

wah_wah_69 escribió:¿Cuando he dicho yo que sea superior?

Yo solo he apuntado a lo obvio, y es que si quieres aprovecharte del trabajo que muchas personas han vertido (desinteresadamente la mayoría de las veces) en un proyecto,que menos que cumplir y aceptar la licencia con la que se te otorga dicho beneficio.



Estais comentando entre los 2 en un foro público,por lo que cualquier persona que pase por aqui puede comentar lo que bien le venga en gana.

Teneis tanto derecho a comentar lo que os parece la licencia de la libsdl como yo a comentar lo que pienso de los que no dudan en aprovecharse de ella eso si poniendole mil pegas,si no te gusta no la uses asi de claro.




¿Aprovecharme de que?

Te metes en una conversacion que tenemos dos personas, en la cual yo trato de hacer ver a mi interlocutor, que hay casos en los que merece la pena utilizar estas licencias, aunque tiene cosas que son delito.

Por ejemplo, las SDL son una API ¿Que sentido tiene que por usarla, me pueda ver obligado a publicar todo el fuente de mi trabajo?

Si, ya se que es LGPL, pero el autor principal ha puesto una clausula adicional virica y solo si la enlazas dinamicamente no tienes porque publicar tu fuente (lo cual, hay mucha gente que no sabe y que incumple los terminos de licencia por ese motivo, de hecho, hay gente que ha utilizado versiones de SDL bajo GPL sin darse cuenta,pero mas que por torpe, es que es absurdo)

Pero veamos de que me "aprovecho": He pillado un codigo, lo he adaptado a una maquina donde iba mal con los modos de video y he publicado el codigo aqui, para aquellos que les gusta usar SDL (que yo no uso nunca, por cierto XD). Ya ves, parece que voy a salir de pobre por ello (a ver cuando me empiezan a llover los billetes) XD



wah_wah_69 escribió:El mérito es lo de menos y queda en la conciencia del que use el código,lo que importa es que se cumpla la licencia.

De todas formas no entiendo vuestras quejas si no recuerdo mal la libsdl tiene licencia LGPL por lo que no hay por que liberar ningún código que enlaze a ella.



Joe, que tremendo eres con eso de la conciencia.... macho, que aqui somos programadores aficionados y no sacamos ningun tipo de beneficio ¿O es que acaso si yo enlazo SDL estaticamente u otra libreria y no publico los fuentes de mi juego, estoy robando a alguien? ¿Le estoy quitando la autoría de esa libreria, por no publicar el codigo de mi juego?¿Estoy perjudicando el desarrollo de dicha libreria en algun momento, si no he introducido cambios que puedan interesar?

Pues a eso nos estamos refiriendo cuando criticamos esas licencias (que no es el mismo caso de aprovecharse del codigo fuente de una aplicacion), lo cual no quiere decir que no se deban respetar dentro de lo posible, ni que no podamos trabajar con ellas, joder


Ahora, tambien te digo que gente que salta como tú en este hilo, ayuda bien poco a que la gente vea el lado positivo de estas licencias, que lo sepas XD

La GPL es tan facil de "saltar" como hacer un ejecutable GPL y otro con tu codigo propietario y creando una interfaz que permita la comunicacion entre ambos: Lo que no tendria sentido es que mi modulo VFAT en PS2, me obligara a publicar todo el codigo de mi juego Guitarfun (por ejemplo) bajo GPL: es ABSURDO (eso si: entiendo perfectamente la importancia de publicar todos los cambios del modulo y que trate de "chupar" posibles librerias de apoyo a la funcion de ESE modulo).

Incluso mejor te lo pongo: que otra persona se lucrara con mi trabajo, solo porque una pequeña parte de el que se dedica a leer el sistema de archivos FAT (sin entrar que es patente de Microsoft
XD) está bajo GPL y esa licencia es una esponja, sin haber intervenido absolutamente en nada en el desarrollo de aplicacion/libreria.

¿Sabes quien no tiene conciencia? Ese, el aprovechado que no contribuye en nada y que casi siempre, es el que cuando señalas los defectos particulares de la licencia, pone el grito en el cielo [toctoc] [toctoc]

Por cierto, me gustaria ver mas accion en estos foros y menos palabrería, que yo precisamente, no ando corto de contribucion ni al software libre, ni al software de uso gratuito :p
Hermes escribió:
¿Aprovecharme de que?


Del ahorro de trabajo que supone usar una biblioteca,de eso te aprovechas.

Hermes escribió:Te metes en una conversacion que tenemos dos personas, en la cual yo trato de hacer ver a mi interlocutor, que hay casos en los que merece la pena utilizar estas licencias, aunque tiene cosas que son delito.


Te repito que este es un foro público,si quieres privacidad usa mejor los mensajes privados que para eso están.
Pues si consideras que la licencia no es adecuada a tus necesidades,no la uses.

Hermes escribió:Por ejemplo, las SDL son una API ¿Que sentido tiene que por usarla, me pueda ver obligado a publicar todo el fuente de mi trabajo?

Si, ya se que es LGPL, pero el autor principal ha puesto una clausula adicional virica y solo si la enlazas dinamicamente no tienes porque publicar tu fuente (lo cual, hay mucha gente que no sabe y que incumple los terminos de licencia por ese motivo, de hecho, hay gente que ha utilizado versiones de SDL bajo GPL sin darse cuenta,pero mas que por torpe, es que es absurdo)

Pero veamos de que me "aprovecho": He pillado un codigo, lo he adaptado a una maquina donde iba mal con los modos de video y he publicado el codigo aqui, para aquellos que les gusta usar SDL (que yo no uso nunca, por cierto XD). Ya ves, parece que voy a salir de pobre por ello (a ver cuando me empiezan a llover los billetes) XD


A ver si has hecho unos cambios útiles a la libsdl y los publicas, no puedo más que darte las gracias.

El que se aprovecha es el que usa la biblioteca y no cumple la licencia.

Hermes escribió:Joe, que tremendo eres con eso de la conciencia.... macho, que aqui somos programadores aficionados y no sacamos ningun tipo de beneficio ¿O es que acaso si yo enlazo SDL estaticamente u otra libreria y no publico los fuentes de mi juego, estoy robando a alguien? ¿Le estoy quitando la autoría de esa libreria, por no publicar el codigo de mi juego?¿Estoy perjudicando el desarrollo de dicha libreria en algun momento, si no he introducido cambios que puedan interesar?


Simple y llanamente estás incumpliendo la licencia.

Hermes escribió:Pues a eso nos estamos refiriendo cuando criticamos esas licencias (que no es el mismo caso de aprovecharse del codigo fuente de una aplicacion), lo cual no quiere decir que no se deban respetar dentro de lo posible, ni que no podamos trabajar con ellas, joder

Ahora, tambien te digo que gente que salta como tú en este hilo, ayuda bien poco a que la gente vea el lado positivo de estas licencias, que lo sepas XD


La GPL es tan facil de "saltar" como hacer un ejecutable GPL y otro con tu codigo propietario y creando una interfaz que permita la comunicacion entre ambos: Lo que no tendria sentido es que mi modulo VFAT en PS2, me obligara a publicar todo el codigo de mi juego Guitarfun (por ejemplo) bajo GPL: es ABSURDO (eso si: entiendo perfectamente la importancia de publicar todos los cambios del modulo y que trate de "chupar" posibles librerias de apoyo a la funcion de ESE modulo).

Incluso mejor te lo pongo: que otra persona se lucrara con mi trabajo, solo porque una pequeña parte de el que se dedica a leer el sistema de archivos FAT (sin entrar que es patente de Microsoft
XD) está bajo GPL y esa licencia es una esponja, sin haber intervenido absolutamente en nada en el desarrollo de aplicacion/libreria.


Lee
http://www.libsdl.org/license-lgpl.php

No hace falta publicar el código fuente, podrías publicar el código objeto.

Desde mi punto de vista,no se trata de "adueñarse" de cualquier código que utilize la biblioteca,si no más bien de que cualquier programa que la use pueda volver a ser enlazado a ella y a futuras versiones incluso si el autor original del código que enlaza a ella decide desentenderse de su trabajo.

Hermes escribió:¿Sabes quien no tiene conciencia? Ese, el aprovechado que no contribuye en nada y que casi siempre, es el que cuando señalas los defectos particulares de la licencia, pone el grito en el cielo [toctoc] [toctoc]

Por cierto, me gustaria ver mas accion en estos foros y menos palabrería, que yo precisamente, no ando corto de contribucion ni al software libre, ni al software de uso gratuito :p


Yo siempre que he contribuido a un proyecto GPL, ya sea mandando un parche, un bugreport o lo que sea,lo he hecho de muy buena gana y es más eh disfrutado como un enano.

Siempre he tenido en cuenta que se podría hacer un uso comercial de mi minúsculo trabajo y me ha importado un bledo.
wah_wah_69 escribió:
Del ahorro de trabajo que supone usar una biblioteca,de eso te aprovechas.


Pues menos mal que arreglar una librería que no conoces para que funcione bien en una maquina, es una ahorro XD

wah_wah_69 escribió:Te repito que este es un foro público,si quieres privacidad usa mejor los mensajes privados que para eso están.
Pues si consideras que la licencia no es adecuada a tus necesidades,no la uses.


No, si el problema no es que intervenga gente, es la actitud con la que entras: simplemente, estabamos comentando detalles curiosos de esas licencias, pero al mismo tiempo, yo al menos estaba haciendo una lectura positiva sobre ellas.


wah_wah_69 escribió:A ver si has hecho unos cambios útiles a la libsdl y los publicas, no puedo más que darte las gracias.

El que se aprovecha es el que usa la biblioteca y no cumple la licencia.


Hombre, yo creo que se aprovechan todos ¿No? (tu mismo estas diciendo arriba, que yo me aprovecho tambien :p). Pero vamos, yo creo que he dejado clara mi postura y es tonteria darle mas vueltas.


wah_wah_69 escribió:Simple y llanamente estás incumpliendo la licencia.


Pero aqui no estabamos discutiendo el incumplimiento o no de la licencias, si no lo abusivas que son al tratar de absorver tu codigo por un uso muy localizado: de eso estabamos hablando, de lo que nos parecen defectos de forma ¿O es que la licencia es perfecta y no se pueden criticar ciertas cosas?



wah_wah_69 escribió:Lee
http://www.libsdl.org/license-lgpl.php

No hace falta publicar el código fuente, podrías publicar el código objeto.

Desde mi punto de vista,no se trata de "adueñarse" de cualquier código que utilize la biblioteca,si no más bien de que cualquier programa que la use pueda volver a ser enlazado a ella y a futuras versiones incluso si el autor original del código que enlaza a ella decide desentenderse de su trabajo.



El problema es que es el AUTOR de un trabajo, quien debe decidir la forma de publicar su trabajo. Y no que un autor por el simple hecho de hacer una libreria de APOYO, decida por ti. A mi me parece muy bien que el autor de una libreria, decida de que forma se debe tratar el codigo que le pertene, pero lo que no está bien, es que quiera decidir tambien por el codigo que no le pertenece y que no supone una ampliacion de esa librería. Es simplemente eso (con respecto a aplicaciones, no tengo ninguna pega, pues es un programa ya formado y tu trabajo es adaptarlo a una maquina o ampliarlo)


wah_wah_69 escribió:Yo siempre que he contribuido a un proyecto GPL, ya sea mandando un parche, un bugreport o lo que sea,lo he hecho de muy buena gana y es más eh disfrutado como un enano.

Siempre he tenido en cuenta que se podría hacer un uso comercial de mi minúsculo trabajo y me ha importado un bledo.


Ya, pero desde tu punto de vista, tu mismo estas diciendo que tu aportacion es por un lado minuscula (al igual que la que yo hago a esta libreria SDL, por ejemplo) y por otro, lo haces por propia voluntad ¿Que te parecería si tu aportacion fuera el 95% y un 5% de codigo quisiera decidir el destino de ese otro 95%?. Pues ahi está el dilema, sobre todo si al autor del 5% le importa un pepino tu 95% restante y es otra persona que no ha tenido nada que ver en el tema la que te reclama ese 95%, jejeje

Ah! y no es porque importe mucho publicar el codigo fuente o no, es por la actitud de la licencia.

Pero bueno, yo creo que no estamos enzarzando en una discusion un tanto estupida desde el mismo momento en que yo critico lo que no me gusta de esas licencias, pero no me importa usarlas cuando me parece bien y en todo caso, no debe ser un problema que aconseje usarlas para ciertas cosas y como evitar el "vampirismo" a la gente que prefiera reservar parte de su codigo de forma privada (fijate si no me importa hacer uso de ellas, que todo lo que publique en PS3 va a tener licencia GPL, porque creo que la filosofia de la maquina es esa y me parece positivo en este caso, pero permiteme que critique lo que me parezca 'feo' de esas licencias ;) )

Siguiendo con el tema del hilo...

Ando ocupado trabajando el kernel de la Yellow Dog 5.01. Es un kernel antiguo y tiene dificil portabilidad sobre los trabajos que se están haciendo con el RSX, pero me gusta la Yellow porque funciona
bastante bien con los dispositivos, sobre todo con las modificaciones que he añadido, como soporte UDF 2.5, corregido un error que hacia que no se automontara la unidad de cdrom0, si no hay disco durante el arranque y lo tengo todo automatizado para actualizarlo de forma sencilla con un script

Sin embargo, hoy han publicado un programa que es capaz de dibujar un cubo (en 3D) utilizando aceleracion con el RSX que me va a ayudar bastante, ya que las implementaciones que han hecho en ps2dev al modulo ps3fb, se relesean en forma de parches que no tienen mucha coherencia para los kernels que yo tengo (para ver que cojones hacen, pero tampoco es que me sirva de mucho pues ps3fb es bastante diferente al de mi kernel y usa funciones que ni se parecen XD)

El tema es si consigo implementar un sistema mediante este codigo, estaria bastante bien pues la Yellog Dog 5.01, quitando algunas tonterias que tienen facil arreglo, me parece la mas estable (en Fedora 8.0 por ejemplo, si desconecto el raton, me quedo sin el y tiene fallos que no me molan nada).

Lo unico malo, es que ya me lo estoy temiendo: la linea de desarrollo de ps2dev, suele ser ir a lo mas nuevo, en vez de lo mas estable y esto va a ser un disparate de tener que estar instalando Linux cada dos por tres, o tener que utilizar un Linux con fallos muy incomodos por mala adaptacion, solo por que es la versión favorita de un determinado desarrollador o porque esa version mete no se que chorrada nueva.

Yo preferiria que la cosa se centrara en mantener el mismo kernel base, añadiendole las modificiaciones propias de la maquina, pero esto no va a ser así.

A ver, ¿para que coño quiero yo tener un Linux tan avanzado como el que puedo tener en el PC, si la PS3 es una maquina especial que entre otras cosas, es corta de memoria y de disco duro? Sería mucho mejor centrarse en optimizar lo que tenemos, para que funcione bien .
Hermes escribió:
Siguiendo con el tema del hilo...

A ver, ¿para que coño quiero yo tener un Linux tan avanzado como el que puedo tener en el PC, si la PS3 es una maquina especial que entre otras cosas, es corta de memoria y de disco duro? Sería mucho mejor centrarse en optimizar lo que tenemos, para que funcione bien .



Por desgracia esto es algo habitual cuando se trabaja en este tipo de formatos tan nuevos, yo por eso quiero esperar un tiempo, a ver si sale algo solido, fiable y q la gente acepte como "estandard" para hacer cosas en ps3 :)
a ver... me he puesto a leer un poco sobre la lgpl y la verdad es que no es tan mala, simplemente te piden el código objeto. La idea de esto es que si tu haces un programa usando sdl debes de dejar la opción de que en el futuro se pueda enlazar con nuevas versiones de sdl quizas con mejoras de la propia sdl.

Quizas lo peor sería para las empresas... me pregunto si tambien tendrían que dar el código objeto sin comprar la más mínima licencia a la empresa, estais al día sobre esto? me refiero una empresa hace un juego y ara llego yo y les digo oye dame el código objeto... me lo tienen que dar? y si es así simplemente sería el código objeto ya que las imagenes y demás no estarían enlazadas a la licencia sdl o tambien si en el caso de estar imbuidas en un .h como se suele hacer mucho?
saulotmalo escribió:a ver... me he puesto a leer un poco sobre la lgpl y la verdad es que no es tan mala, simplemente te piden el código objeto. La idea de esto es que si tu haces un programa usando sdl debes de dejar la opción de que en el futuro se pueda enlazar con nuevas versiones de sdl quizas con mejoras de la propia sdl.

Quizas lo peor sería para las empresas... me pregunto si tambien tendrían que dar el código objeto sin comprar la más mínima licencia a la empresa, estais al día sobre esto? me refiero una empresa hace un juego y ara llego yo y les digo oye dame el código objeto... me lo tienen que dar? y si es así simplemente sería el código objeto ya que las imagenes y demás no estarían enlazadas a la licencia sdl o tambien si en el caso de estar imbuidas en un .h como se suele hacer mucho?


Humm, te cuento.

Lo primero es que tanto la LGPL como la GPL, son licencias de uso comercial.

Por lo tanto, solo estas obligado a pasar fuentes/codigo objeto entre tus CLIENTES.

Si tu distribuyes un programa de forma gratuita, cualquiera que se baje el ejecutable, es cliente tuyo, por lo que puede reclamarte ese codigo.

Comercialmente, no hay nada que impida meter otro tipo de clausulas: por ejemplo, tu puedes ceder esos fuentes entre tus clientes y dejar que entre ellos, lo compartan siguiendo las reglas de la GPL, pero puedes impedir que sea transmitido entre aquellas personas que no son tus clientes, mediante una NDA o restringiendo el uso a un determinado ambito.

Lo que si es cierto, es que si tu estas basando un codigo en estas licencias, si una persona ha intervenido en la realizacion del código, puede pedirte esos fuentes, pues tu serias cliente a su vez de esa persona XD (pero claro, para que esa persona te reclame el codigo, tiene que saber que lo estas empleando)

Eso si, todo esto solo es valido hablando de un determinado ejecutable: si un programa está compuesto por varios ejecutables, uno de ellos puede ser codigo propietario o estar realizado por otra persona y no tendrias porque pasarlo (todo esto, hablando de comercializacion)

Es un poco enrevesado pero basicamente, funciona asi.
Hola chicos,

He visto el hilo y me interesa muchisimo ya que me quería poner a hacer algo interesante para hardware nuevo (PS3 en este caso). Todavía estoy muy verde en la arquitectura de PS3, y la del RSX, pero me voy a poner un poco las pilas para empezar a hacer algo. De momento ya tengo instalado linux en la PS3 (Gentoo) desde Stage 1, con crossdev instalado y funcionando. El sistema es 32bits con kernel de 64 y ahora acabo de probar el modulo ps3rsx y el driver para xorg. Los tengo instalados y funcionando pero no he probado mucho más. Ahora mismo tengo el kernel compilando con el parche de Glaurung, ya os comentaré si funciona bien con algún ejemplo.

A lo que vamos, si quieres Hermes que pruebe tu parche en Gentoo, no tienes mas que decirlo y si se quiere hacer algo conjunto contar conmigo ;)

Saludos chicos

Editado: He modificado el ps3fb.c con el parche de Glaurung, y de momento funciona bien con ps3rsx y con el driver para xorg. El problema que tengo ahora es que el demo3d_alternative que debería funcionar con este driver modificado (¿no?) me da un segmentaion fault.Esto es lo que me devuelve:

video mode 6
vram 264241152 fifo 65536 ctrl 4096
Violación de segmento


¿Que puede ser?
jyck escribió:Hola chicos,

He visto el hilo y me interesa muchisimo ya que me quería poner a hacer algo interesante para hardware nuevo (PS3 en este caso). Todavía estoy muy verde en la arquitectura de PS3, y la del RSX, pero me voy a poner un poco las pilas para empezar a hacer algo. De momento ya tengo instalado linux en la PS3 (Gentoo) desde Stage 1, con crossdev instalado y funcionando. El sistema es 32bits con kernel de 64 y ahora acabo de probar el modulo ps3rsx y el driver para xorg. Los tengo instalados y funcionando pero no he probado mucho más. Ahora mismo tengo el kernel compilando con el parche de Glaurung, ya os comentaré si funciona bien con algún ejemplo.

A lo que vamos, si quieres Hermes que pruebe tu parche en Gentoo, no tienes mas que decirlo y si se quiere hacer algo conjunto contar conmigo ;)

Saludos chicos

Editado: He modificado el ps3fb.c con el parche de Glaurung, y de momento funciona bien con ps3rsx y con el driver para xorg. El problema que tengo ahora es que el demo3d_alternative que debería funcionar con este driver modificado (¿no?) me da un segmentaion fault.Esto es lo que me devuelve:



¿Que puede ser?


Pues... que ps3rsx utiliza un metodo ligeramente diferente XD.

Ese driver te crea /dev/fb1 y utiliza un sistema parecido al mio (con los offsets) para mapear la memoria VRAM, FIFO y CRTL, aunque tambien te devuelve otras areas (los offsets son diferentes y ahora mismo no recuerdo cuales son, pero en los fuentes de ps3rsx los tienes y si no, mirate la funcion mmap en el driver)

Para trabajar con ps3rsx, deberias pillar la XRAM desde /dev/fb0 (como ya esta) y el resto desde /dev/fb1. De hecho me temo que al final, un juego que se haga tendra que hacer un test para ver de que forma puede acceder a la aceleracion 3D...

Yo esta semana no he podido hacer nada apenas, pero a ver si este fin de semana puedo ensamblar algunas instrucciones de shader a mano, para que podamos dibujar triangulos sin texturas y texturados añadiendole color del material: con eso ya tendriamos suficiente para poder hacer cosillas chulas sin tener que depender de la grafica (para esto tenemos 6 SPE tocandose el colgajo), aunque IronPeter esta trabajando en hacer un ensamblador, que unido a la utilidad Cg Toolkit de NVIDIA (que es de descarga gratuita), nos permitiria crear shaders muchos mas potentes :)
seré un poco corto,pero no pillo como tengo que ejecutar esto.
1:Que tipo de archivo te da como resultado?
2:Por que tienes que tener un linux instalado?

Saludos y gracias
Me parece una perdida de tiempo ponerme a discutir aquí, si una licencia es mejor que otra o no, ya que cada uno tiene sus preferencias y es como decir el sabor a chocolate es mejor que el de la fresa porque me gusta a mi, no tiene ni sentido ni final. Lo que hay que hacer es es leerse la licencia y si te gusta pues vale y si no pues también.

Lo que si quería era hacer un par de aclaraciones ya que he visto algunas confusiones.

1.- La GPL no es una licencia con piel de cordero como la habéis llamado porque permite usarla comercialmente, eso es falso totalmente, yo no puedo coger ahora el kernel de Linux o el gcc y ponerme a venderlo por mi cara bonita, solo podría cobrar lo que hayan costado los cds, o los costes de distribución pero nunca por el programa en si.

Se puede cobrar por los servicios prestados, pero nunca por el codigo, es decir yo puedo cobrar por instalarle y configurarle a alguien un mysql o un apache, pero no cobrarles por el producto en si.

Si uso librerías GPL en mi programa y es de código cerrado, estaré cobrando por mi código, y en ningún caso se podría justificar cobro alguno por el uso de esas librerías.

Las licencias BSD si tienen ese problema, ya que puedes hacer literalmente lo que quieras con algo licenciado bajo BSD, desde venderlo a distribuir solo los binarios, etc..

2.- Sobre la distribución del código de programas GPL, es obligatorio distribuir tanto el código fuente, en la GPL2 no queda lo suficientemente claro, pero en la GPL3 se clarifica que siempre hay que distribuirlo y no solo bajo demanda.

3.- Sobre que cualquiera puede coger tu código modificarlo, usarlo y mientras no se sepa no hay problema, pues claro y también puedo meterme en un supermercado por la noche y robarlo todo mientras nadie se entere. El tema esta en que si te enteras puedes emprender acciones legales. Busybox ya ha tenido que hacer mas de una denuncia, y no han tenido ningún problema a efectos de validez de la licencia en juzgados.

4.- Por ultimo, personalmente uso la licencia GPL en todo el software que hago en mi tiempo libre, desde mi punto de vista contribuye a varias cosas:

4.1.- Que si a alguien no le gusta algo o necesita algo mas, puede editar el código y añadir o modificar lo que quiera, y mandármelo por si quiero añadirlo.
4.2.- Que la gente arregla fallos y te manda los parches, por lo tanto desde cierto punto de vista ayuda a hacer un software mas "perfecto"
4.3.- Que aunque tu no quieras seguir manteniendo el código, si a alguien le interesa puede seguir haciéndolo.
4.4.- Que ayuda a cualquier programador, ya que cuanto mas código leas, mas formas de hacer lo mismo veas, etc.. mejor código harás.
4.5.- En definitiva dar mas poder al usuario, que nos están mal acostumbrando a ser unos conformistas y a ponerle precio a la cultura, los inventos, en definitiva a todo.


Y por cierto la GPL3 es bastante mas restrictiva con los usos comerciales, y algunas lagunas que había, la podéis echar un vistazo si os interesa.
22 respuestas