Feb 23

Si por alguna razón o circunstancia necesitamos compilar algún código escrito en Objective-C, un lenguaje de programación basado en C que adiciono elementos de Smalltalk a su sintaxis como los mensajes, que tiene elementos de Programación Orientada a Objetos, el cual fue usado por la compañía NeXT creada por Steve Jobs  como su principal lenguaje de programación y que hoy es utilizado para el desarrollo de aplicaciones para MacOSX e iOS en todas sus plataformas incluyendo el iPhone y el iPad. (he dicho)

Estas razones pueden ser varias, en mi caso poder compilar y probar librerías escritas en Objective-C en mi maquina Ubuntu, otra razón es escribir, compilar y probar código escrito en Objective-C sin necesidad de recurrir a una maquina con MacOSX y por ultimo y lo mas importante estudiar el lenguaje para entender su funcionamiento.

Afortunadamente la comunidad del super conocido GCC ha estado desde hace muchos años creando un clone del compilador de NeXTStep basado en el original OpenStep padre del Objective-C y cuya version libre es conocida como GNUStep :) de tal modo que es posible compilar y ejecutar programas escritos en Objective-C en un sin numero de plataformas.

Instalacion de GNUStep en Ubuntu :

  • Abrir una terminal
  • Instalar los paquetes de ambiente de usuario para la ejecución de aplicaciones basadas en este compilador
    Esto puede tomar algún tiempo ya que son bastantes paquetes los que se instalaran
    sudo apt-get install gnustep
  • Instalar los paquetes para desarrollo de GNUStep y el compilador
    sudo apt-get install gnustep-devel gobjc

Escribiendo Nuestro Programa de Prueba :

  • Abrir nuestro editor favorito y crear el archivo
    Hello.m
  • Adicionar el siguiente contenido y guardarlo
#import <Foundation/Foundation.h>

int main (int argc, const char * argv[])
{
        NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];

        NSLog (@"hello world");
        [pool drain];
        return 0;
}

Compilando y Ejecutando el Programa :

  • En la terminal y en el directorio donde esta el archivo hello.m
  • Configurar el entorno para la compilacion de programas en Objective-C
    (debemos ejecutar este comando cada vez que abramos una terminal o colocarlo dentro de los scripts de la cuenta)
    . /usr/share/GNUstep/Makefiles/GNUstep.sh
  • Compilar el programa usando la configuración para GNUStep
    gcc `gnustep-config --objc-flags` -lgnustep-base hello.m -o hello
  • Ejecutar el programa
    ./hello

De esta forma podremos compilar librerías que vengan en este lenguaje, crear nuestra propias librerías como también código y experimentar con el lenguaje.

Enlaces :

Tagged with:



En February 23 de 2011, Marlon J. Manrique escribió acerca de Compilando Objective-C en Ubuntu 10.10.
Sep 09
Software Freedom Day 2010 - Manizales

Software Freedom Day 2010 - Manizales

Qué es ?

Cada segunda semana de Septiembre, cientos de miles de ciudadan@s digitales alrededor del mundo se organizan en torno a la celebración del día por la libertad del Software. Las razones? lograr acciones de conocimiento tecnocultural libres que fomenten escenarios de comunicación fundamentados en la promoción de redes de trabajo tecnológicas colaborativas y abiertas, buscando así, el conocimiento, re-conocimiento, la promoción y empoderamiento tecnológico de los ciudadanos a través del contacto con las comunidades de saberes tecnosociales libres de su ciudad.

El Día de la Libertad del Software es un encuentro Abierto al Público y sin animo de lucro, basado en las potencialidades del Trabajo colaborativo, ajustado a los lineamientos de la Software Freedom International, organización gestora y promotora de este encuentro a nivel mundial.

Cuándo es ?

Sábado 18 de septiembre de 2010 desde las 9 am. hasta las 5pm.

Dónde es ?

Tecnoparque SENA Manizales, Sector Industríal, Km. 10 vía al Magdalena.

Cuál es su contenido ?

PRESENTACIÓN COMUNIDADES DE TRABAJO
Horario Nombre ¿Quien es el Presentador?
10:00 - 11:00 OpenSUSE Colombia: comunidad de cara a las problemáticas de accesibilidad digital. Andrés Ricardo Hernandez (Bogotá)
11:15 - 13:00 Mozilla Colombia: Proyecto de Traducción Español Colombia. Creando Comunidad Gloria Meneses (Bogotá)
14:00 - 15:00 Colombia PHP: Comunidad Colombiana de desarrolladores PHP
15:05 - 16:00 Fundación Visonte Fundación Visonte (Manizales)
16:00 - 17:00 Fedora Colombia Juan Botero (Manizales)
CONFERENCIAS
Horario Nombre ¿Quien es el Conferencista?
10:00 - 11:00 Software Libre: pensando la tecnología mas allá del comando y el click Farid Amed (Bogotá)
11:15 - 13:00 Proyectos Musicales con Software Libre: ¡WART. Ama la música, éste es tu mundo! Pio Hefner (Bogotá)
14:00 - 15:00 Trueque digital: Compartir conocimientos, compartir saberes digitales. David Ramírez (Bogotá)
15:05 - 16:00 CONFERENCIA POR CONFIRMAR
16:00 - 17:00 CONFERENCIA POR CONFIRMAR
MESA REDONDA
Horario Nombre ¿Quien es el Coordinador?
10:00 - 11:00 Mujeres y Tecnología Comunidad FossChix-Co (Cali-Bogotá)
11:15 - 13:00 Tecnologías y jurídicas del control digital: Abordando el A.C.T.A Acuerdo comercial anti-falsificación "todos pagan, todos pierden" Fundación Casa del Bosque (Bogotá)
14:00 - 15:00 TEMÁTICA POR CONFIRMAR
15:05 - 16:00 La Cultura libre en el contexto de la sociedad de la información: aproximaciones a una critica del consumo David Ramírez (Bogotá)
TALLERES
Horario Grupo Quien es el Tallerista?
SIN DEFINIR Joomla - Introducción a la Creación de Portales Dinámicos con Joomla! Farid Amed (Bogotá)
SIN DEFINIR Implementación de plataformas musicales con WordPress Pio Hefner (Bogotá)
SIN DEFINIR Aprendiendo a crear modelos tridimensionales con Blender 3D Diego Quevedo (Bogotá)
SIN DEFINIR OpenOFFICE la Suite Ofimatica Libre. Aproximaciones para superar la barrera Sonia Liliana Cruz (Bogotá)
SIN DEFINIR Gnome - Entorno Escritorio de GNU Linux Cristian Gómez (Manizales)
SIN DEFINIR Que hay de nuevo en Java 7 Juan Botero (Manizales)
SIN DEFINIR Elastix Juan Diego Polanco (Manizales)

Más información.

Tagged with:



En September 9 de 2010, Jorge Iván Meza Martínez escribió acerca de Software Freedom Day 2010 – Manizales.
Mar 13

Introducción.

La libertad del software hace referencia a lo que puedes hacer con él (free speech) y no precisamente al valor económico de este en el mercado (free beer).  La GNU, desarrolladora del sistema operativo GNU/Linux, nos habla de los derechos que deberíamos tener sobre el software (y de manera extensible para otros tipos de contenido) para que estos sean de real provecho y utilidad para la humanidad, facilitando el desarrollo de nuevos contenidos e innovación.

Esto es en pocas palabras lo que diferencia al software propietario o no libre del software libre (free software).  El núcleo de todo se fundamenta en el acceso al código, en lo que coinciden con el movimiento de código abierto (open source), pero adicionan además todo un sustento filosófico que propende por los derechos del usuario y la libertad para utilizar y manipular el software según sus propias necesidades, evitando las restricciones innecesarias y autoimpuestas de otros tipos de licenciamiento que van en detrimento del propio usuario y sólo favorecen al editor que en muchos casos se lucra de manera desmedida al mantener atado al usuario con restricciones poco éticas.

En el contexto en el que nos encontramos, sociedad y época, es muy posible que fácilmente encontremos argumentos para dar soporte a los licenciamientos no libres y encontremos un tanto utópico al software libre y a todo lo que este movimiento ideológico incluye, sin embargo los temas son profundos, tanto de ancho como de altos, así que es importante para todos, especialmente para quienes desarrollamos software -o incluso conocimiento-, estudiar un poco mas del tema para forjarnos una idea real de estas tendencias y apartarnos de las ideas impuestas por otros que recibimos a diario a través del mercadeo en los medios.

Si encuentra sensato que usted no esté en capacidad legal de compartir el software con sus familiares, amigos o colaboradores, lo invito a que considere cual es el orígen real de estas restricciones legales ?  Para proteger a quién fueron diseñadas ?  En la época actual surten realmente ese efecto ?  Las tecnologías digitales -incluyendo a Internet- deben adaptarse a esas normas o deberían las normas adaptarse a la actualidad en la que vivimos ?  En qué medida deberíamos ceder nuestros derechos de utilizar, manipular y adaptar nuestras cosas según nuestras necesidades ?

Es posible que muchos consideren que el licenciamiento actual es el idóneo ya que los desarrolladores deben vivir de algo y el desarrollar aplicaciones es su trabajo, de esta manera el licenciamiento está protegiendo a los desarrolladores de que otros se roben sus logros y se lucren de ellos.  Sería muy interesante investigar si son realmente los desarrolladores (léase las personsa que realizan el análisis, diseño e implementación) del software quienes reciben -al menos la mayor parte- de la remuneración o si hay toda una cadena de intermediarios (realmente necesarios ?) que toman su tajada también.  Esta inquietud puede ser trasladada a otros contextos similares como la composición de música, la elaboración de películas o la escritura de libros.

Considere también la posibilidad de que pasaría si estas normativas de licenciamiento idóneas aumentan su cobertura limitando aún mas sus derechos con el contenido o producto ?  Compraría usted un libro qué sólo pudiera leer en la sala de su casa ?  Qué solo pudiera leer usted y no pudiera compartirlo con sus familiares o vecinos ?  Compraría usted un libro que sólo se pudiera leer una determinada cantidad de veces ?  Qué no pudiera citar o basarse en él para sus propios escritos, para generar nuevo conocimiento ?  Si sus respuestas son negativas, tal vez no quiera saber de las nuevas tecnologías para la gestión de derechos electrónicos que se están intentando desarrollar en este momento.

Este es un tema muy interesante y muy denso que la mayoría conocemos o hemos meditado con una mínima profundidad y vale la pena investigar mas al respecto.  Como mencioné anteriormente probablemente nos sea mas fácil entender el punto de vista que nos han vendido diariamente y el propuesto por GNU nos suene un tanto idealista y utópico.  Puede que así sean las cosas … o puede que no.  Lo realmente importante es que todos debemos tomar decisiones drásticas al respecto y que estas deben beneficiar a todos -la humanidad- mediante el apoyo para la generación de nuevos contenidos e innovación y no limitarse a beneficiar lucrativamente a pocos que bien pueden estar montando un negocio a costa de la pérdida de nuestras libertades.

Para tomar decisiones inteligentes es necesario conocer mas ambos puntos de vista.  El no libre es bastante mas conocido ya que lo respiramos practicamente a diario en todos los ámbitos de la vida cotidiana, mientras que el libre suena mas esotérico y nebuloso.  A quien esté interesado en aprender un poco mas de la filosofía del software libre lo invito a leer el libro “Software libre para una sociedad libre”, escrito por Richard Stallman precursor de este movimiento.  En el libro el autor explica los comienzos y los conceptos que lo llevaron a iniciar esta cruzada en pos de los derechos de los usuarios y desarrolladores de software e incluye varios capítulos en los que se analizan de manera inteligente muchos de los supuestos que hacemos con respecto a las políticas de licenciamiento que estamos acostumbrados.  Tal y como podría suponerse, el libro es de distribución libre y puede descargarse del sitio web de GNU (ver enlaces).

Entonces, qué es el software libre ?

Como se mencionó inicialmente al hablar de software libre (free software) se habla de libertad, de lo que se me está permitido hacer con el software mas no necesariamente de precio.  Nosotros no tenemos la confusión semántica que se tiene en el idioma inglés en el cual la misma palabra (free) tiene ambas connotaciones libre y gratis.  De paso es bueno mencionarlo, el software libre no es necesariamente gratis, yo puedo contratar (pagándole obviamente) a un desarrollador para que implemente una aplicación y después publicarla como software libre, quienes la obtengan después recibirán todos los derechos que esto incluye.

Esto lo menciono porque es importante desligar las dos palabras gratis y libre del free software.  También es posible cobrar una módica cuota por distribuír el software libre, por hacerle mejoras específicas que a su vez se convertirán en libres también y por capacitaciones, asesorías y soporte.  Como se dijo anteriormente, los desarrolladores también necesitan de que vivir y esta filosofía no es ajena a eso.

En rigor un software es libre cuando su licenciamiento le garantiza al usuario las siguientes libertades.

    1. La libertad para ejecutar el programa sea cual sea nuestro propósito.
    2. La libertad para estudiar el funcionamiento del programa y adaptarlo a tus necesidades —el acceso al código fuente es condición indispensable para esto.
    3. La libertad para redistribuir copias y ayudar así a tu vecino.
    4. La libertad para mejorar el programa y luego publicarlo para el bien de toda la comunidad —el acceso al código fuente es condición indispensable para esto.

      Enlaces.

      Tagged with:



      En March 13 de 2010, Jorge Iván Meza Martínez escribió acerca de Te da tu software suficiente libertad ?.