Programación Grafica

2005-04-29 Por tema Carlos Manuel Duclos Vergara
Holas,

Ahe, ahí está el asunto. ¿donde dice la LGPL que por escribir ese pedazo
de código estas haciendo un trabajo derivado (usando las palabras
dentro de la LGPL)?

de acuerdo a la secciones 5 y 6 de la LGPL si fuiste lo suficientemente 
cuidadoso y solo usaste la biblioteca no generas un trabajo derivado, 
el problema no esta en lo que entendamos por trabajo derivado sino 
que en la interpretacion legal de esto (que es lo que parti diciendo). 
Ademas especifica claramente que al linkear tu software con la biblioteca 
generas un binario que debe ser LGPL (notese que usar esta definido 
como que la biblioteca tiene que estar cargada en memoria y tu interaccion 
con ella se reduce solo a invocar metodos y pasar parametros). Ojo que tambien 
menciona que pasa si usas los header files de la biblioteca, mientras uses menos
de 10 lineas queda claro que no tienes problemas, pero al usar mas de 10 
lineas de codigo del header file (imaginate si necesitas usar un header file
que solo contiene una larga lista de #define. ) quedas otra vez en
terreno de nadie. Ese es el punto que sostengo, la LGPL te deja un margen 
para interpretaciones que no se da por ejemplo con la GPL. Y donde hay 
margen para interpretaciones + espacio para poner abogados...

* Uso de Gtk+ desde C.
Este caso es _idéntico_ al caso de la libc. Puedes derivar un widget,
pero eso es sólo usar la API de Gtk+, no requiere modificar nada de
la biblioteca original. El pasar punteros a funciones como callbacks
no entra en mis libros como modificación.

necesitas al menos usar los header correspondientes, y ya te estas
acercando a terreno peligroso. Repito el problema de la LGPL es lo que
no dice mas que lo que dice, deja muchos puntos abiertos a interpretacion
y ese es el punto.

* Uso de Gtkmm, desde C++.
[...]
Muchos discuten, exépto los desarrolladores. Para más remate, el 90%
del código de Gtkmm es generado de manera automática desde los
encabezados de Gtk+, por lo que ni siquiera los desarrolladores han
tenido que ver mucho con las clases e interfaces.

y donde esta mencionado en la LGPL que el codigo tiene que ser escrito 
por humanos? (si suena ridiculo, pero es verdad). El hecho de que un
desarrollador no tome en cuenta esos detalles no los hacen menos
validos, ya que el problema no es la creencia sino el hecho de que llegado
el momento se haga una interpretacion legal de esos argumentos. Y dado
que la LGPL a diferencia de la GPL (que por lo demas no deja espacios a
la imaginacion, aun a costa de meter las patas en algunos casos) deja 
espacios es posible que algun iluminado se le ocurra una interpretacion
legal diferente de lo que fue la intencion inicial.


¿Y acaso en tu ejemplo se modificó código LGPL? ¿cúal, que _no_ lo veo?
Perdón, pero eso es FUD. Nada más ni nada menos.

para generar la clase BOTON1_EXTENDIDO requiero al menos utilizar los
header files de la biblioteca, como probablemente ocupen mas de 10
lineas ya entre a terreno donde las interpretaciones legales me pueden
jugar chueco.

INSISTO, mi punto no es atacar LGPL por atacarla, sino que hacer ver que
a diferencia de otras licencias la LGPL deja espacios abiertos a 
interpretaciones legales. Y ese es el punto que a _MI_ no me deja tranquilo,
ya que algun dia puede surgir algun iluminado con ideas novedosas y
tratar de retorcer un poco las cosas. En ese aspecto la GPL es sumamente
clara, no tiene puntos intermedios o la cumples o no.

[...]
Acabo de escribir una función strcpy2 que deriva de strcpy, cambiando
ligeramente la funcionalidad. ¿es un trabajo derivado de la biblioteca?

noup, pq el prototipo de la funcion strcpy ocupa menos de 10 lineas dentro
del header file (notese que dice que tu codigo fuente no sera cubierto bajo 
LGPL pero deja claramente especificado que no se saben los alcances legales 
de esto).  Claro que aun tienes que tomar provisiones en el caso de
linkear esa funcion con el resto de la glibc...
(tu codigo objeto podria pasar a ser LGPL)

Xhau




Programación Grafica

2005-04-29 Por tema Daniel Serpell
Hola!

El Fri, Apr 29, 2005 at 08:00:12AM -, Carlos Manuel Duclos Vergara escribio:
 Holas,
 
 Ahe, ah? est? el asunto. ?donde dice la LGPL que por escribir ese pedazo
 de c?digo estas haciendo un trabajo derivado (usando las palabras
 dentro de la LGPL)?
 
 de acuerdo a la secciones 5 y 6 de la LGPL si fuiste lo suficientemente 
 cuidadoso y solo usaste la biblioteca no generas un trabajo derivado, 
 el problema no esta en lo que entendamos por trabajo derivado sino 
 que en la interpretacion legal de esto (que es lo que parti diciendo). 

 Ademas especifica claramente que al linkear tu software con la biblioteca 
 generas un binario que debe ser LGPL (notese que usar esta definido 

No, no dice eso. Dice que el ejecutable esta cubierto por esa licencia, en
particular por el punto 6. Eso es _muy_ distinto a decir que el
ejecutable se rige por la GPL. En particular, la sección 6 dice
que debes hacer _una_ de las siguientes (resumidas):
 
a) Entregar los archivos necesarios para permitir que el usuario final
   reemplaze la bilblioteca LGPL por una modificada a su antojo en el
   programa final. (normalmete, entregar los .o es suficiente).
b) Usarse la biblioteca como biblioteca compartida (.so ó .dll), de
   manera que el usuario final pueda reemplazar la biblioteca por otra.

[...]
 Ojo que tambien 
 menciona que pasa si usas los header files de la biblioteca, mientras uses 
 menos
 de 10 lineas queda claro que no tienes problemas, pero al usar mas de 10 
 lineas de codigo del header file (imaginate si necesitas usar un header file
 que solo contiene una larga lista de #define. ) quedas otra vez en
 terreno de nadie.

¡No, no y NO!

Si usas menos de 10 líneas de código, ni siquiera necesitas cumplir con
la sección 6 (que indiqué anterior).

En otras palabras, la licencia dice:

 Si se usan más de 10 líneas de código de los encabezados, el
ejecutable pasa a ser un trabajo derivado y se rige por la sección 6 

Si no, dice claramente:

5. A program that contains no derivative of any portion of the
  Library, but is designed to work with the Library by being compiled or
  linked with it, is called a work that uses the Library.  Such a
  work, in isolation, is not a derivative work of the Library, and
  therefore falls outside the scope of this License.

Osea, si no uso ni siquiera más de 10 líneas de encabezados y sin
embargo hago un programa diseñado para trabajar con la biblioteca, ni
siquiera necesito cumplir con la sección 6, osea, puedo distribuir mi
binario como yo desee.

 Ese es el punto que sostengo, la LGPL te deja un margen 
 para interpretaciones que no se da por ejemplo con la GPL. Y donde hay 
 margen para interpretaciones + espacio para poner abogados...

La GPL y la LGPL no son muy distintas. La única diferencia notable es
el punto 6 de la LGPL, que permite distribuir el binario sin fuentes de
tu trabajo, con tal de permitir que se puede re-enlazar con versiones
modificadas de la biblioteca.

[...]
 
 INSISTO, mi punto no es atacar LGPL por atacarla, sino que hacer ver que
 a diferencia de otras licencias la LGPL deja espacios abiertos a 
 interpretaciones legales. Y ese es el punto que a _MI_ no me deja tranquilo,
 ya que algun dia puede surgir algun iluminado con ideas novedosas y
 tratar de retorcer un poco las cosas. En ese aspecto la GPL es sumamente
 clara, no tiene puntos intermedios o la cumples o no.

Puede que tengas buenas intenciones, pero desde aquí, sólo parece que
estás entregando FUD.

Daniel.


Programación Grafica

2005-04-29 Por tema Germán Poó Caamaño
El jue, 28-04-2005 a las 15:06 -0400, Daniel Serpell escribió:
 El Thu, Apr 28, 2005 at 05:00:18PM -, Carlos Manuel Duclos Vergara 
 escribio:
 [...]
 Ahe, ahí está el asunto. ¿donde dice la LGPL que por escribir ese pedazo
 de código estas haciendo un trabajo derivado (usando las palabras
 dentro de la LGPL)?
 
 Voy ha hacer dos distinciones aquí:
 
 * Uso de Gtk+ desde C.
 
 Este caso es _idéntico_ al caso de la libc. Puedes derivar un widget,
 pero eso es sólo usar la API de Gtk+, no requiere modificar nada de
 la biblioteca original. El pasar punteros a funciones como callbacks
 no entra en mis libros como modificación.
 
 * Uso de Gtkmm, desde C++.
 
 Aquí hay opiniones encontradas. Pero hay que tener en claro que son
 sólo eso: _opiniones_. Existe una creencia, a mi juicio completamente
 errada, de que por derivar una clase estás haciendo un trabajo
 derivado en el sentido de la GPL.
 
 Más o menos cuatro veces al año aparece algún troll en las listas de
 gtkmm alegando que si usas las clases de Gtkmm desde tu código tienes
 que liberar el código como GPL ó LGPL.

Nada mejor que un ejemplo real, como seguramente ya estarás enterado,
VMware 5.0 usa Gtkmm y no por eso es LGPL.

-- 
Germán Poó Caamaño
mailto:[EMAIL PROTECTED]
http://www.ubiobio.cl/~gpoo/


Programación Grafica

2005-04-29 Por tema Leonardo Soto M
El mié, 27-04-2005 a las 18:02 -0400, Daniel Serpell escribió:
 Hola!
 
 El Wed, Apr 27, 2005 at 04:52:45PM -0400, Felipe Navarro escribio:

[...]

 Entonces, busco en ustedes alguna recomendación para saber cual de
  las bibliotecas (quizás GTK, GTK2, QT, TCL... no sé) será más
  beneficiosa en términos de rendimiento, facilidad de aprendizaje,
  escalabilidad y técnicas de uso de XML para multilenguaje o chiches
  extras.
 
 ¿qué es para tí una aplicación gráfica?
 
 Si te refieres a una aplicación con ventanitas y botones, yo recomiendo
 usar Gtk, ya sea nativo o bien desde el binding apropiado al lenguaje.
 
 Gtkmm, el binding de Gtk para C++, es bueno, se integra bien con el
 lenguaje y la biblioteca estándar.
 
 Qt, que es la única otra opción recomendable por compatibilidad en
 Linux[...]

Y wxWidgets? Alguien aca tiene alguna experiencia (buena o mala) que
contar con esta tercera alternativa?
-- 
Leonardo Soto M.
Desarrollador de Software | Administrador de Sistemas
[EMAIL PROTECTED]  | [EMAIL PROTECTED]
http://www.eltallervirtual.cl/blogs/index.php/leo


Re: Programación Grafica

2005-04-28 Por tema Horst von Brand
Felipe Navarro [EMAIL PROTECTED] dijo:
 On 4/27/05, Daniel Serpell [EMAIL PROTECTED] wrote:

[...]

  Mi preferencia actual para los principiantes es C# usando Mono, pero
  supongo que algún sabor de Python puede ser buena alternativa. ¿Han
  probado Boo...?

 Principiante soy en cuanto a aplicación con GUI en *Linux*. Podría
 usar Kylix, pero no es la idea. Quiero algo nativo, algo que corra en
 la mayoría de las distros.

TCL/Tk. Python. Perl/Tk. Y un largo etc.

Capaz que hasta encuentres un ksh de a deveras (si, se pueden escribir
scripts graficos con eso... aunque la idea me de escalofrios ;-)

  ¿qué es para tí una aplicación gráfica?
 Menúses (Archivo, Edición, Herramientas, ... ) Botones, Gráficas
 Todo lo que podría hacer un C++ Builder en Windows.

Para lo que quieres probablemente el rendimiento sea completamente
irrelevante, y lo que ganas desarrollando en un lenguaje /realmente/ de
alto nivel es inmenso.
-- 
Dr. Horst H. von Brand   User #22616 counter.li.org
Departamento de Informatica Fono: +56 32 654431
Universidad Tecnica Federico Santa Maria  +56 32 654239
Casilla 110-V, Valparaiso, ChileFax:  +56 32 797513
From [EMAIL PROTECTED]  Wed Apr 27 22:15:22 2005
From: [EMAIL PROTECTED] (Horst von Brand)
Date: Wed Apr 27 23:11:02 2005
Subject: presentacion 
In-Reply-To: Your message of Wed, 27 Apr 2005 16:53:01 -0400.
[EMAIL PROTECTED] 
Message-ID: [EMAIL PROTECTED]

Hector Salinas [EMAIL PROTECTED] dijo:
 Soy Hector Salinas Murua, actualmente soy programador en computacion
 y trabajo en Bodegas San Franciso como tal, programando en plataformas
 windows con Visual Basic :-(. .

[Resto de presentacion borrada]

Impresionante. Bienvenido aca!

Solo pediria que eliminaras el HTML en tus correos. Aca se ve feazo...
-- 
Dr. Horst H. von Brand   User #22616 counter.li.org
Departamento de Informatica Fono: +56 32 654431
Universidad Tecnica Federico Santa Maria  +56 32 654239
Casilla 110-V, Valparaiso, ChileFax:  +56 32 797513
From [EMAIL PROTECTED]  Wed Apr 27 21:34:50 2005
From: [EMAIL PROTECTED] (Horst von Brand)
Date: Wed Apr 27 23:11:08 2005
Subject: =?iso-8859-1?q?tama=F1o_de_las_ventanas?=
In-Reply-To: Your message of Wed, 27 Apr 2005 14:13:26 -0400.
[EMAIL PROTECTED] 
Message-ID: [EMAIL PROTECTED]

Carlos A. Sepulveda M. [EMAIL PROTECTED] dijo:
 Daniel Serpell wrote:
  Perdon por la intromisión, pero siempre me he preguntado:
  ¿para qué usan VNC?

 Por ejemplo, en nuestro caso el server de respaldos (pc con gran hdd y 
 un quemador) es un FC2, AFAIR, con vnc.

Me parece que aca hay cruces... hay que considerar:

a) Win   -- Win
b) Linux -- Win
c) Win   -- Linux

Se que VNC maneja las 3. rdesktop es (b), no se si maneja (a) o (c) (aunque
entiendo que usa el protocolo Win al efecto, asi que (a) se puede hacer de
alguna otra forma), quedaria pendiente (c).

OTOH, AFAIU VNC te permite tomar control del Win, no se si rdesktop permita
tomarse una sesion abierta.

 Porque no nos resultaba factible enseniar/configurar las estaciones y 
 los lusers para que fuesen capaces de conectarse via ssh y levantar las 
 apps X (aunque la parte de configurar las estaciones era la parte facil 
 ;-) )

Yep. Reconfigurar lusers es duro. Los configuras, te das vuelta y se
desconfiguran solos.

Aunque conexion X desde Win es complicado (por rendimiento).
-- 
Dr. Horst H. von Brand   User #22616 counter.li.org
Departamento de Informatica Fono: +56 32 654431
Universidad Tecnica Federico Santa Maria  +56 32 654239
Casilla 110-V, Valparaiso, ChileFax:  +56 32 797513
From [EMAIL PROTECTED]  Wed Apr 27 20:35:29 2005
From: [EMAIL PROTECTED] (Horst von Brand)
Date: Wed Apr 27 23:11:15 2005
Subject: cuenta de usuario limitada 
In-Reply-To: Your message of Wed, 27 Apr 2005 11:59:50 -0400.
[EMAIL PROTECTED] 
Message-ID: [EMAIL PROTECTED]

Jose [EMAIL PROTECTED] dijo:
 Dentro de la empresa en la cual trabajo sale una necesidad, la de crear
 una cuenta de usuario que solo pueda apagar el equipo (shutdown) y no
 pueda ejecutar ninguna otra accion.

Sysadmin 101: Creas una cuenta cuyo shell es /sbin/poweroff. Conectarse ==
Se baja todo.

 Con este usuario se pretende que en casos de emergencia pueda apagar
 correctamente el equipo y mas nada. conectandose en la propia maquia o
 desde otra mediante telnet o ssh.

Nunca via telnet(1), la password viaja en texto claro. Y supongo que no es
necesario que te explique la diversion del creativo local que significaria
bajar la maquina cada 15 minutos...

 Alguno de uds. tiene alguna sugerencia de como hacer esto.

Han considerado algo como sudo(1)? Puedes dar permiso de correr /ciertos/
programas a usuarios selectos, dando sus password.
-- 
Dr. Horst H. von Brand   User #22616 counter.li.org
Departamento de Informatica Fono: +56 32 

Re: Programación Grafica

2005-04-28 Por tema Carlos Manuel Duclos Vergara
Holas,

Claro que sé que no es C Sé que Qt genera código C++, de ahí el
hecho de usar algo de C++ para enlazar con mi aplicación básica en C
(con Biblioteca PCAP) y tal vez algunas cosas en C++ (Biblioteca STL).

con STL no tendras problemas, aunque si utilizas QT te recomendaria partir 
utilizando la
tonelada de clases que ellos proveen antes de pasar a usar STL.

Principiante soy en cuanto a aplicación con GUI en *Linux*. Podría
usar Kylix, pero no es la idea. Quiero algo nativo, algo que corra en
la mayoría de las distros.

una pregunta capciosa, pero que puede ayudar un poco mas adelante. Vas a hacer
un software comercial? tu intencion es que sea open source? o es un desarrollo 
privado
y no quieres/puedes liberar el codigo fuente?

Así ha sido lo que he probado. No tengo la seguridad de que si me
arrepiento de un menú, puedo hacer cambios de forma transparente...
tengo la sensación que debo re-compilar qt y regenerar el código
C++

de hecho QT es bastante mas flexible para la generacion de menus, solo debes 
regenerar
el codigo de los menus usando la herramienta adecuada (hay unos archivos que se 
encargan de la interfaz grafica, y un
compilador que se encarga de transformarlos a codigo). El resto del codigo no 
se altera
(bueno, si cambias de Nuevo a Formatear obviamente debes proveer un nuevo 
handler
para esa opcion del menu, pero eso es algo que tendras que hacer con cualquier 
alternativa 
que escojas.

Influirá si uso Gtk en Kde, gnome.. ??

Actualmente es poco probable, sin embargo hay algunas distros que por defecto 
traen o qt o gtk
por lo que debes preocuparte de que este instalado el toolkit que uses.

Una nota respecto a la licencias, Gtk es LGPL y QT tiene tres licencias: GPL, 
QPL y comercial.
Si utilizas GTK para tu aplicacion y la quieres hacer opensource, no hay 
problemas. Lo mismo
para QT usando la licencia GPL o QPL.
Pero si tu intencion es hacer un software comercial (por eso la pregunta 
anterior), debes tener cuidado.
Aqui el problema es si quieres/puedes redistribuir el codigo fuente. Si no lo 
puedes/quieres redistribuir
entonces usando GTK tendras que proveer interfaces de modo que tu codigo no 
utilice nunca directamente
a GTK. Esto porque la licencia LGPL establece que los puntos donde se utiliza 
la biblioteca y se hace alguna
modificacion o se produce un trabajo derivado a partir de ella, deben ser 
redistribuidos bajo la licencia LGPL.
Hace como tres meses atras di un ejemplo donde podias quedar expuesto a 
liberar tu codigo (basicamente
el ejemplo es la extension de un control de GTK).
Con QT por otra parte, si quieres generar una aplicacion comercial y no 
quieres/puedes redistribuir tu codigo 
fuente tienes la opcion de adquirir una licencia comercial.
La gran diferencia es que con GTK no hay alternativas, excepto la de ser en 
extremo cuidadoso mientras que con
QT si tienes una alternativa (puede parecer un poco cara, pero depende de lo 
que quieras hacer se justifica)

Xhau




Programación Grafica

2005-04-28 Por tema Roger D. Vargas
El mié, 27-04-2005 a las 21:43, Manuel R. Bercián escribió:
 a mi tambien me interesa mucho este tema y perdon por preguntar de nuevo...
 aparte de la pregunta de Felipe Navarro, quisiera que me recomendaran un
 software que se pueda usar tanto en Linux como en Windows
Software o bibliotecas? Qt corre en cualquier cosa y Gtk fue portado a
Windows, en el sitio del DevCpp puedes encontrar los paquetes de
desarrollo.

 
 Gracias
 
 Roger D. Vargas wrote:
 
 El mié, 27-04-2005 a las 20:52, Felipe Navarro escribió:
   
 
 Sencillo:
Estoy por comenzar una aplicación gráfica y todo lo que he hecho
 anteriormente ha sido basado en Java. Esta vez usaré principalmente C
 y tal vez algo de C++. Bibliotecas como la STL y PCAP...
Entonces, busco en ustedes alguna recomendación para saber cual de
 las bibliotecas (quizás GTK, GTK2, QT, TCL... no sé) será más
 beneficiosa en términos de rendimiento, facilidad de aprendizaje,
 escalabilidad y técnicas de uso de XML para multilenguaje o chiches
 extras.
 
 
 Yo encontre Qt muy facil de aprender y con muchas funcionalidades. Pero
 te recomendaria irte por Gtk, por una cuestion de flexibilidad en la
 licencia.
 
   
 
-- 
Roger D. Vargas
http://dsgp.blogspot.com
* No hay nada tan importante que no pueda ser olvidado *
Alzheimer


Programación Grafica

2005-04-28 Por tema Germán Poó Caamaño
El jue, 28-04-2005 a las 08:05 +, Carlos Manuel Duclos Vergara
escribió:
 [...]
 Influirá si uso Gtk en Kde, gnome.. ??
 
 Actualmente es poco probable, sin embargo hay algunas distros que por defecto 
 traen o qt o gtk
 por lo que debes preocuparte de que este instalado el toolkit que uses.
 
 Una nota respecto a la licencias, Gtk es LGPL y QT tiene tres licencias: GPL, 
 QPL y comercial.
 Si utilizas GTK para tu aplicacion y la quieres hacer opensource, no hay 
 problemas. Lo mismo
 para QT usando la licencia GPL o QPL.
 Pero si tu intencion es hacer un software comercial (por eso la pregunta 
 anterior), debes tener cuidado.
 Aqui el problema es si quieres/puedes redistribuir el codigo fuente. Si no lo 
 puedes/quieres redistribuir
 entonces usando GTK tendras que proveer interfaces de modo que tu codigo no 
 utilice nunca directamente
 a GTK. Esto porque la licencia LGPL establece que los puntos donde se utiliza 
 la biblioteca y se hace alguna
 modificacion o se produce un trabajo derivado a partir de ella, deben ser 
 redistribuidos bajo la licencia LGPL.
 Hace como tres meses atras di un ejemplo donde podias quedar expuesto a 
 liberar tu codigo (basicamente
 el ejemplo es la extension de un control de GTK).
 Con QT por otra parte, si quieres generar una aplicacion comercial y no 
 quieres/puedes redistribuir tu codigo 
 fuente tienes la opcion de adquirir una licencia comercial.
 La gran diferencia es que con GTK no hay alternativas, excepto la de ser en 
 extremo cuidadoso mientras que con
 QT si tienes una alternativa (puede parecer un poco cara, pero depende de lo 
 que quieras hacer se justifica)

Nop.  Si solo vas a usar las funciones de GTK, no hay ningun tipo de
problema. Si vas a usar una version de GTK modificada por ti, es otro 
cuento, pero seria una situacion bastante poco comun.

En el caso de un control de GTK, si lo heredas no estas interviniendo
en GTK.

-- 
Germán Poó Caamaño
mailto:[EMAIL PROTECTED]
http://www.ubiobio.cl/~gpoo/


Programación Grafica

2005-04-28 Por tema Roberto Bonvallet
Carlos Manuel Duclos Vergara escribio:
[...]
 de hecho QT es bastante mas flexible para la generacion de menus, solo
 debes regenerar el codigo de los menus usando la herramienta adecuada
 (hay unos archivos que se encargan de la interfaz grafica, y un
 compilador que se encarga de transformarlos a codigo).

En GTK puedes gozar de una flexibilidad similar usando libglade.
Disen~as la interfaz grafica usando Glade y la importas en tiempo de
ejecucion, creando menues, botoncitos y cajitas on the fly.  Asi
puedes hacer cambios en la interfaz sin recompilar en lo absoluto.

Saludos!
-- 
Roberto Bonvallet
From [EMAIL PROTECTED]  Thu Apr 28 15:06:23 2005
From: [EMAIL PROTECTED] (Daniel Serpell)
Date: Thu Apr 28 15:06:47 2005
Subject: =?iso-8859-1?q?Programaci=F3n?= Grafica
In-Reply-To: [EMAIL PROTECTED]
References: [EMAIL PROTECTED]
Message-ID: [EMAIL PROTECTED]

Hola!

El Thu, Apr 28, 2005 at 05:00:18PM -, Carlos Manuel Duclos Vergara escribio:
 Holas,
 
[... codigo que deriva una clase ...]
 
 el codigo de BOTON1_EXTENDIDO debe ser redistribuido bajo LGPL, por lo que
 si esta dentro de tu software te expones a tener que liberar el codigo
 fuente. Si lo defines en un layer intermedio solo tendras que liberar
 el codigo fuente de ese layer bajo licencia LGPL y el resto del software
 queda protegido.

Ahe, ahí está el asunto. ¿donde dice la LGPL que por escribir ese pedazo
de código estas haciendo un trabajo derivado (usando las palabras
dentro de la LGPL)?

Voy ha hacer dos distinciones aquí:

* Uso de Gtk+ desde C.

Este caso es _idéntico_ al caso de la libc. Puedes derivar un widget,
pero eso es sólo usar la API de Gtk+, no requiere modificar nada de
la biblioteca original. El pasar punteros a funciones como callbacks
no entra en mis libros como modificación.

* Uso de Gtkmm, desde C++.

Aquí hay opiniones encontradas. Pero hay que tener en claro que son
sólo eso: _opiniones_. Existe una creencia, a mi juicio completamente
errada, de que por derivar una clase estás haciendo un trabajo
derivado en el sentido de la GPL.

Más o menos cuatro veces al año aparece algún troll en las listas de
gtkmm alegando que si usas las clases de Gtkmm desde tu código tienes
que liberar el código como GPL ó LGPL.

Muchos discuten, exépto los desarrolladores. Para más remate, el 90%
del código de Gtkmm es generado de manera automática desde los
encabezados de Gtk+, por lo que ni siquiera los desarrolladores han
tenido que ver mucho con las clases e interfaces.

 
 Adem?s, si ese es el caso, _todo_ programa en linux tendr?a que ser
 c?digo abierto (recuerda, la libc es LGPL).
 
 Nop, estas en un error. No estoy diciendo que por usar codigo LGPL tengas
 que liberar tu codigo, sino que por modificar codigo LGPL al incluirlo en
 tu programa debes liberar el codigo.

¿Y acaso en tu ejemplo se modificó código LGPL? ¿cúal, que _no_ lo veo?

Perdón, pero eso es FUD. Nada más ni nada menos.

 La glibc por lo general es utilizada mediante las interfaces exportadas
 y ningun programa que conozca toma un metodo de la glibc para extenderlo
 directamente. Todos utilizan los metodos de la glibc sin mas.
 Esa es la diferencia, si tu escribes software que utilice por ejemplo
 strcpy() para hacer algo no tienes ningun problema, distinto es si tu a
 partir de strcpy derivas una nueva funcion strcpy2, la que si debe ser 
 redistribuida bajo licencia LGPL! (ver caso mencionada anteriormente)

char *strcpy2(char *c1, char *c2)
{
   if( !c1 )
  return 0;
   return strcpy(c1,c2);
}

Acabo de escribir una función strcpy2 que deriva de strcpy, cambiando
ligeramente la funcionalidad. ¿es un trabajo derivado de la biblioteca?

Daniel.


Programación Grafica

2005-04-27 Por tema Felipe Navarro
Sencillo:
   Estoy por comenzar una aplicación gráfica y todo lo que he hecho
anteriormente ha sido basado en Java. Esta vez usaré principalmente C
y tal vez algo de C++. Bibliotecas como la STL y PCAP...
   Entonces, busco en ustedes alguna recomendación para saber cual de
las bibliotecas (quizás GTK, GTK2, QT, TCL... no sé) será más
beneficiosa en términos de rendimiento, facilidad de aprendizaje,
escalabilidad y técnicas de uso de XML para multilenguaje o chiches
extras.

Gracias por sus opiniones :)
-- 
Felipe Navarro V.
[EMAIL PROTECTED]
http://www.konus.cl - blog
Dpto Ingeniería Informática
Universidad de Santiago de Chile


Programación Grafica

2005-04-27 Por tema Roger D. Vargas
El mié, 27-04-2005 a las 20:52, Felipe Navarro escribió:
 Sencillo:
Estoy por comenzar una aplicación gráfica y todo lo que he hecho
 anteriormente ha sido basado en Java. Esta vez usaré principalmente C
 y tal vez algo de C++. Bibliotecas como la STL y PCAP...
Entonces, busco en ustedes alguna recomendación para saber cual de
 las bibliotecas (quizás GTK, GTK2, QT, TCL... no sé) será más
 beneficiosa en términos de rendimiento, facilidad de aprendizaje,
 escalabilidad y técnicas de uso de XML para multilenguaje o chiches
 extras.
Yo encontre Qt muy facil de aprender y con muchas funcionalidades. Pero
te recomendaria irte por Gtk, por una cuestion de flexibilidad en la
licencia.

-- 
Roger D. Vargas
http://dsgp.blogspot.com
* No hay nada tan importante que no pueda ser olvidado *
Alzheimer


Programación Grafica

2005-04-27 Por tema Daniel Serpell
Hola!

El Wed, Apr 27, 2005 at 04:52:45PM -0400, Felipe Navarro escribio:
 Sencillo:
Estoy por comenzar una aplicación gráfica y todo lo que he hecho
 anteriormente ha sido basado en Java. Esta vez usaré principalmente C
 y tal vez algo de C++. Bibliotecas como la STL y PCAP...

C es distinto de C++, no se puede usar algo de C y C++, o programas
en uno o en el otro. Sí, desde C++ se pueden llamar funciones de C,
pero eso también se puede hacer desde casi cualquier otro lenguaje.

C++ _no_ es C, es un lenguaje muy diferente por dentro, pero que se
ve parecido C a primera vista.

¿necesitas programar en C++? Personalmente, mi recomendación es que
si no tienes experiencia previa en C++, es un lenguaje difícil para
partir (sobre todo desde Java, la diferencia es muy grande).

Mi preferencia actual para los principiantes es C# usando Mono, pero
supongo que algún sabor de Python puede ser buena alternativa. ¿Han
probado Boo...?

Entonces, busco en ustedes alguna recomendación para saber cual de
 las bibliotecas (quizás GTK, GTK2, QT, TCL... no sé) será más
 beneficiosa en términos de rendimiento, facilidad de aprendizaje,
 escalabilidad y técnicas de uso de XML para multilenguaje o chiches
 extras.

¿qué es para tí una aplicación gráfica?

Si te refieres a una aplicación con ventanitas y botones, yo recomiendo
usar Gtk, ya sea nativo o bien desde el binding apropiado al lenguaje.

Gtkmm, el binding de Gtk para C++, es bueno, se integra bien con el
lenguaje y la biblioteca estándar.

Qt, que es la única otra opción recomendable por compatibilidad en
Linux, no me gusta personalmente por el uso de un pre-procesador (moc)
y porque la encuentro poco limpia.

 
 Gracias por sus opiniones :)

De nada.

Daniel.


Re: Programación Grafica

2005-04-27 Por tema Felipe Navarro
On 4/27/05, Daniel Serpell [EMAIL PROTECTED] wrote:
 Hola!
Holas :D
 
 C es distinto de C++, no se puede usar algo de C y C++, o programas
 en uno o en el otro. Sí, desde C++ se pueden llamar funciones de C,
 pero eso también se puede hacer desde casi cualquier otro lenguaje.

Eso lo tengo más que claro. Tal vez fue semántica, pero creo que me di
a entender bien.
 
 C++ _no_ es C, es un lenguaje muy diferente por dentro, pero que se
 ve parecido C a primera vista.

Claro que sé que no es C Sé que Qt genera código C++, de ahí el
hecho de usar algo de C++ para enlazar con mi aplicación básica en C
(con Biblioteca PCAP) y tal vez algunas cosas en C++ (Biblioteca STL).

 ¿necesitas programar en C++? Personalmente, mi recomendación es que
 si no tienes experiencia previa en C++, es un lenguaje difícil para
 partir (sobre todo desde Java, la diferencia es muy grande).

He programado Java, Perl, C, C++, Python, Delphi y lenguajes
orientados a la web.

 Mi preferencia actual para los principiantes es C# usando Mono, pero
 supongo que algún sabor de Python puede ser buena alternativa. ¿Han
 probado Boo...?

Principiante soy en cuanto a aplicación con GUI en *Linux*. Podría
usar Kylix, pero no es la idea. Quiero algo nativo, algo que corra en
la mayoría de las distros.

 
 ¿qué es para tí una aplicación gráfica?
Menúses (Archivo, Edición, Herramientas, ... ) Botones, Gráficas
Todo lo que podría hacer un C++ Builder en Windows.

 Si te refieres a una aplicación con ventanitas y botones, yo recomiendo
 usar Gtk, ya sea nativo o bien desde el binding apropiado al lenguaje.
 Gtkmm, el binding de Gtk para C++, es bueno, se integra bien con el
 lenguaje y la biblioteca estándar.

Okey.. acá llegamos a puerto: GTK


 Qt, que es la única otra opción recomendable por compatibilidad en
 Linux, no me gusta personalmente por el uso de un pre-procesador (moc)
 y porque la encuentro poco limpia.

Así ha sido lo que he probado. No tengo la seguridad de que si me
arrepiento de un menú, puedo hacer cambios de forma transparente...
tengo la sensación que debo re-compilar qt y regenerar el código
C++

Influirá si uso Gtk en Kde, gnome.. ??

-- 
Felipe Navarro V.
[EMAIL PROTECTED]
http://www.konus.cl - blog
Dpto Ingeniería Informática
Universidad de Santiago de Chile


Programación Grafica

2005-04-27 Por tema Daniel Serpell
Hola!

El Wed, Apr 27, 2005 at 06:21:46PM -0400, Felipe Navarro escribio:
  
  C++ _no_ es C, es un lenguaje muy diferente por dentro, pero que se
  ve parecido C a primera vista.
 
 Claro que sé que no es C Sé que Qt genera código C++, de ahí el
 hecho de usar algo de C++ para enlazar con mi aplicación básica en C
 (con Biblioteca PCAP) y tal vez algunas cosas en C++ (Biblioteca STL).

He ahí el problema: llamar código escrito en C++ desde C no es fácil.
Si vas a usar STL, te conviene programar todo en C++ y listo.

 Principiante soy en cuanto a aplicación con GUI en *Linux*. Podría
 usar Kylix, pero no es la idea. Quiero algo nativo, algo que corra en
 la mayoría de las distros.

Si quieres un programa facil de distribuir, te conviene programar en
C diréctamente. Apenas agregas C++ ya tienes un lío de dependencias
y versiones de compilador incompatibles entre distribuciones (e incluso
entre distintas versiones de una distribución). Por ejemplo, si compilas
con GCC-3.3 es incompatible con GCC-3.4, etc.

Si te interesa C++ por la disponibilidad de las STL, te gustará saber
que en C puedes usar glib (una de las bibliotecas en que se basa Gtk),
la que tiene mucha funcionalidad muy útil (contenedores, algorítmos,
soporte de unicode, hilos, etc.).

[...]
 
 Influirá si uso Gtk en Kde, gnome.. ??

No, actualmente se llevan de lo más bien.

Daniel.


Programación Grafica

2005-04-27 Por tema Manuel R. Bercián
a mi tambien me interesa mucho este tema y perdon por preguntar de nuevo...
aparte de la pregunta de Felipe Navarro, quisiera que me recomendaran un
software que se pueda usar tanto en Linux como en Windows

Gracias

Roger D. Vargas wrote:

El mié, 27-04-2005 a las 20:52, Felipe Navarro escribió:
  

Sencillo:
   Estoy por comenzar una aplicación gráfica y todo lo que he hecho
anteriormente ha sido basado en Java. Esta vez usaré principalmente C
y tal vez algo de C++. Bibliotecas como la STL y PCAP...
   Entonces, busco en ustedes alguna recomendación para saber cual de
las bibliotecas (quizás GTK, GTK2, QT, TCL... no sé) será más
beneficiosa en términos de rendimiento, facilidad de aprendizaje,
escalabilidad y técnicas de uso de XML para multilenguaje o chiches
extras.


Yo encontre Qt muy facil de aprender y con muchas funcionalidades. Pero
te recomendaria irte por Gtk, por una cuestion de flexibilidad en la
licencia.

  

From [EMAIL PROTECTED]  Wed Apr 27 20:16:18 2005
From: [EMAIL PROTECTED] (Sergio Hernandez)
Date: Wed Apr 27 20:16:54 2005
Subject: =?iso-8859-1?q?tama=F1o_de_las?= ventanas
In-Reply-To: [EMAIL PROTECTED]
References: [EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]
Message-ID: [EMAIL PROTECTED]

El Miércoles, 27 de Abril de 2005 16:07, Daniel Serpell escribió:
 Hola!

 El Wed, Apr 27, 2005 at 03:41:40PM -0400, Sergio Hernandez escribio:
  La exigencia que hago de un sistema de administracion remota como vnc,
  es, por lo tanto, baja. Me basta con su funcionamiento, aunque sea lento
  e ineficiente. Por lo demas, desconozco si las alternativas que
  mencionas funcionan tambien con maquinas windows.

 RDP es la solución. RDP es el protocolo de Acceso Remoto de Microsoft,
 que permite ingresar a una sesión en un computador con Windows
 remotamente.

 Instalas en Linux el programa rdesktop y te conectas usando la línea
 de comandos rdesktop nombre de pc. Esto te da una ventana de sesión
 nueva en el PC de destino.

 Lamentablemente, Microsoft incluye RDP sólo desde Windows XP Pro en
 adelante, para versiones anteriores debes instalar el soporte.

 Otra opción es utilizar el Compartir Escritorio de windows. Esto
 interactua muy bien con los usuarios remotos ya que presenta una ventana
 informando al usuario local que alguien intenta manejar su PC de forma
 remota. Existen también programas para Linux para acceder a ese
 protocolo.

Ok, Daniel,
Gracias por la informacion! Estudiare ambas opciones...

Saludos;
-- 
Sergio Hernandez A.
Arquitecto
Usuario Linux #324.172



Programación Grafica

2005-04-27 Por tema Matias Valdenegro T.
El Mié 27 Abr 2005 13:23, Roger D. Vargas escribió:
 Yo encontre Qt muy facil de aprender y con muchas funcionalidades. Pero
 te recomendaria irte por Gtk, por una cuestion de flexibilidad en la
 licencia.

Yo tambien, es muy facil aprender Qt teniendo la base de C++ y orientacion a 
objetos, ademas tiene una Documentacion killer, pero el drawback es la 
licencia, pero si vas a desarrollas solo software libre, entonces Qt es la 
opcion clara.