Programa para recomendar y reemplazar software privativo

14 replies [Last post]
dcapeletti
Offline
Joined: 04/03/2014

Hola,
existen algunas personas que tienen programas privativos y quieren cambiarse al software libre pero no saben que programas deben instalar en sus computadoras para reemplazar el software privativo. Por tanto estoy pensando en hacer o proponer que se haga un programa con tal características:
1- Que el programa sea portable para que no requiera instalación.
2- Que busque todo el software privativo que tiene el usuario y proponga reemplazos libres. Por ejemplo si encuentra Microsoft Office, que proponga LibreOffice (recomendado), OpenOffice.
3- Cuando el usuario selecciona un reemplazo libre, que el usuario pueda ver algunos vídeos, descargarlo e instalarlo.
4- Que el programa pueda proponer programas libres en base a ciertos intereses o que estén organizados por categorías como lo hace synaptic.

¿Existe un programa libres para Window$ que realice tal funcionalidad?. De no ser así, creo que sería una interesante idea para crear para dichos usuarios. Los usuarios saben el concepto de software libre y que se debe usar, pero debemos darle una mano para facilitarle la migración.

Gracias

minipost
Offline
Joined: 08/29/2015

Tienes las caresteristicas tecnicas.

dcapeletti
Offline
Joined: 04/03/2014

Ya he mencionado algunas de ellas en el primer post.
Pero podría ser multiplataforma sobre todo Win-Mac.

El programa maneja una base de datos en lo que se encuentra una gran lista de programas no libres y en otra lista hay programas libres. Por ende, cuando encuentra un programa no libre, busca en la lista de la bases de datos, programas libres para su reemplazo pudiendo realizar una descarga directa.

Además el programa podría enviar un aviso a los desarrolladores por si algún programa no puede descargarse.

Solo he pensado eso...podría agregarse mas.

Sds

yawin
Offline
Joined: 02/11/2016

Como punto de partida tienes http://alternativeto.net/ lo malo de esa web es que no hace diferencia entre open source y free software.

Pero como punto de partida puede ayudar.

vita_cell
Offline
Joined: 07/19/2015

Lo uso mucho, en el buscador basta poner el programa privativo al que quieres encontrar sustituto y "alternativeto".

Por ejemplo "Skype alternativeto", y buscar por licencia Open-Source.

eliotime3000
Offline
Joined: 06/05/2016

Parabola GNU/Linux-libre tiene un componente que recomienda equivalentes libres de software privativo llamado "your-freedom", aunque ese componente es desinstalable.

Aquí está el enlace relacionado a ello >> https://wiki.parabola.nu/FAQ#Packages

vita_cell
Offline
Joined: 07/19/2015

Ese paquete entra en conflicto cuando un usuario intenta instalar un programa que tiene componentes no libres, o con licencias no compatibles con software libre. Es un paquete que avisa.

vita_cell
Offline
Joined: 07/19/2015

Un dato tengo que aportar, yo no recomiendo hacer "make install", asi solo llenas el sistema de basura.

El problema esta es que todo el software de repositorio de FSF para GNU, requiere hacer "make install" porque todos los proyectos que formen parte de "GNU Project" tienen que instalarse asi. Esto, a parte de llenar sistema de basura, hacen que los programas no sean portables. Si, se puede hacer que sean portables, editando Makefile. pero es demasiado engorroso, y no todos los usuarios van a ponerse a hacer, hay que hacerlo a cada programa. Recuerden que portabilidad es una gran ventaja.

yawin
Offline
Joined: 02/11/2016

Pero se podría ofrecer junto a la versión para hacer make install una versión ya compilada para el vago de turno. ¿No?

dcapeletti
Offline
Joined: 04/03/2014

Hola,
es verdad que se requiere hacer un make install para muchos programas, pero muchos de ellos ya vienen compilados y con el instalador para la plataforma objetivo. El usuario podría decirle al programa que descargue el instalador para su plataforma y listo...El programa sabrá que instalador debe descargar facilitando la tarea al usuario.

Sds

vita_cell
Offline
Joined: 07/19/2015

A lo que me refiero, es no hacer "make isntall", pero esta bien instalar un paquete con Synaptic o Pacman, ya que se podra desinstalar facilmente. En Arch o Parabola, bajas codigo fuente con PKGBUILD.txt y te dice que dependencias necesitas, y la compilacion del paquete es automatizada, tendras paquete listo para instalar localmente con Pacman. Muchos piensan que que dificil es Arch, pero en realidad es mucho mas facil, mejor, y excelentemente documentado. Hasta instalacion de Parabola es ridiculamente facil y mucho mas rapida (si ejecutas el script con el que viene). Sumando eso, si no me equivoco, Arch y Parabola son RL (rolling release), no hay version ni iso vieja ni nueva, no tendras version de distribucion sino tendras una version unica que se va actualizando. Comparado con Arch, distribuciones basadas en Ubuntu, me parecen chapuza. Y hay que añadir que documentacion de Arch es insuperable y completisima, yo siempre encuentro todo lo que busco. Y he resuelto todo.

Y si, he usado Debian, Ubuntu, Mint, y mas disctros para PowerPC. El Mint es muy completo y con muy buen soporte, pero esta hinchao de software privativo.

Lightmoon

I am a member!

Offline
Joined: 12/16/2013

Hola dcapeletti.

Viendo tu propuesta, más un poco las ganas de aprender Python, he comenzado un proyecto para detectar software no libre en una computadora.
Aquí está el proyecto https://devel.trisquel.info/lightmoon/freesoft
Está en construcción, y cualquier ayuda es bienvenida. Lo he comenzado hoy, y al mismo tiempo estoy aprendiendo Python (nunca antes he visto código de Python). De momento se ejecuta en consola, ya que no sé como hacerlo de forma gráfica. Intento poner los comentarios y variables en Inglés, pero hay veces que se me olvida, y seguramente tenga errores gramaticales.

El funcionamiento es el siguiente:
He creado una Base de Datos en sqlite. En ella existen campos como, os(sistema operativo) que indica que sistema es. Los demás campos son el nombre del programa, el nombre del programa libre, la instrucción para ejecutar en consola la orden de instalación, una url y los nombres de las carpetas donde se ubica.
Por ejemplo, en W$ndows, la carpeta "Program Files (x86)", es la que se utiliza para la instalación,recorro esa carpeta y voy comparándola con los nombres de las carpetas que hay en la BD del os=3 (windows), si encuentra alguno te comenta que es privativo y que lo cambies por el nombre del programa libre y su url para la instalación.

En GNU/Linux, en vez de carpetas se buscarán archivos. Todavía no sé como funcionará el comando sudo, ya que requiere password.
En fin, todavía queda mucho.
Hay que ir rellenando la BD. Lo ideal sería tener una sola BD para que todos pudiéramos introducir datos, pero para eso hace falta un host...
No tengo mucho tiempo, pero a ver si la cosa se anima.
Saludos.

dcapeletti
Offline
Joined: 04/03/2014

Hola,
gracias por tu colaboración.
La idea es que sea principalmente para Win/Mac ya que hay basura privativa pordoquier y generalmente los usuarios que no saben como migrar, están en dichas plataformas. Hay que establecer objetivos y entiendo que un objetivo claro es ayudarlos principalmente a ellos...hacemos esta aplicación para ayudarlos a ellos.

Si bien python es multiplataforma, requiere de instalación. De todas maneras se podría hacer un instalador sencillo.

¿La base de datos sqlite va en cada ordenador? ¿cómo actualizas la base de datos ante nuevos programas libres o privativos?.
¿la búsqueda de un programa privativo cómo se hace? Es indispensable que se pueda aplicar patrones de búsqueda y también ver la posibilidad de incorporar a futuro otros idiomas...

Estoy bastante corto de tiempo...Pero puedo ayudarle con la GUI. Usted podría dibujarme la GUI en Libreoffice o en una foto con GIMP y yo se la hago tal cual usted pide con wxpython https://wxpython.org/ por ende será multiplataforma.

¿usted tiene TOX o cuenta xmpp?
¿que IDE utliza para escribir el programa?

sds

dcapeletti
Offline
Joined: 04/03/2014

No entiendo lo que necesitas hacer con sudo, pero si desde python necesitas instalar un programa por ejemplo:

import subprocess
proc = subprocess.Popen("gnome-terminal -x sh -c 'echo Necesito instalar el paquete python-wxtools y sus dependencias. Luego de terminar la instalación reinicie la aplicación... && sudo apt-get update && sudo apt-get -y install python-wxtools'", shell=True, stdin=None, stdout=open("/dev/null", "w"), stderr=None, executable="/bin/bash")

Se abre una terminal, le pide el password y le instala el paquete python-wxtools que de paso le sirve para crear GUI multiplataforma.

Sds

minipost
Offline
Joined: 08/29/2015

Es solo un idea porque no pones la base de datos en git up. O en alguna plataforma i que la utilize desde alli o se la descarge es solo una idea.