Qué es FreeBSD, el sistema en el que se basan Nintendo Switch y PS4? (ADSLZone)

FreeBSD es un sistema operativo derivado de la versión 4.4 de BSD-Lite, que a su vez es una versión de UNIX desarrollada por la Universidad de California. Es un sistema operativo libre y gratuito, cuyo código fuente está disponible de manera gratuita para cualquier usuario y fabricante.

Nintendo Switch: dos de las tres grandes consolas están basadas en FreeBSD

La principal ventaja que ofrece FreeBSD a un fabricante como puede ser Nintendo o Sony es que, al contrario de lo que ocurre con Linux, si se modifica el código del sistema operativo, no están obligados a compartirlo o publicarlo, pudiendo mantener en secreto las modificaciones que le hagan, y así se evite que los usuarios encuentren posibles vulnerabilidades para instalar homebrew en sus dispositivos. Además de no tener que publicar el código, BSD ofrece otra serie de ventajas, como su gran estabilidad, su pequeño kernel ideal para sistemas operativos móviles o dispositivos con recursos limitados, además de tener una gran cantidad de funcionalidades de red.
nintendo-switch-freebsd
Todo esto es lo que ha llevado que Nintendo Switch o PlayStation 4 utilicen BSD, o al menos un fork de ellos. En el caso de Nintendo, sabemos que su kernel está basado en FreeBSD, mientras que PlayStation 4 está basada en Orbis OS, un sistema operativo derivado directamente de FreeBSD (Xbox One está basada en Windows NT)
También encontramos que sistemas operativos como macOS o iOS están basados en Darwin, que es a su vez también un fork de BSD. Tanto es así, que, si se publica una imagen de un juego desde la Nintendo Switch a Twitter, en el tweet aparecerá que el tweet ha sido publicado vía Safari, mostrando la gran similitud con la que cuentan ambas plataformas.

Sistema operativo libre no implica facilidad de hackeo

Utilizar FreeBSD para basar el sistema operativo de la consola en él permite que Nintendo Switch sea la primera consola de Nintendo en soportar multitarea real (con el permiso de la NES Mini, que utiliza Linux para ejecutar juegos de la NES original mediante emulación). Además, hacer un kernel personalizado con FreeBSD es más barato, es más difícil que se encuentren vulnerabilidades (como las que tenía por ejemplo la 3DS), además de la gran optimización que comentábamos.
zelda-pc-cemu
Que Nintendo Switch utilice un sistema operativo ampliamente conocido por los usuarios no quiere decir que sea fácil de hackear, e incluso puede significar lo contrario. La única esperanza es que las modificaciones que Nintendo haya introducido en el sistema operativo algunos fallos, o que incluso se abra la puerta a poder emular la consola en PC. La 3DS, Wii y la Wii U utilizaban un sistema operativo personalizado y totalmente cerrado, y a pesar de ello fueron crackeadas, además de emuladas con emuladores.
Por último, aunque para portar juegos no habrá mucha diferencia, a la hora de portar aplicaciones como Netflix el proceso será más sencillo, abriendo también una nueva ventana a mejorar fácilmente la consola a través de drivers y mejoras en el kernel. En definitiva, Switch es una consola más abierta a nivel de software, además de a nivel de hardware, utilizando conectores como el USB Tipo C o ser fácilmente reparable, tal y como han comprobado en iFixit.

Numix vs dotfiles

Numix es un proyecto donde se consiguen temas de escritorio tanto para linux como para android. En este blog se ordenan las compras de distintos temas desde US$ 1.99 (algunos son gratuitos, pero son mas simples). Este proyecto ofrecen distintos wallpapers, temas de iconos, y gtk.

La ventaja que ofrecen (para los usuarios acostumbrados a la GUI) es su instalacion a nivel de ventana de dialogo en el entorno grafico.

Numerosos usuarios conocen este proyecto que ha surgido durante los ultimos años.

Los Dotfiles, sin embargo, dependen mucho mas de un window manager que de un entorno de escritorio (en estos casos, fluxbox, awesome wm, i3 wm, openbox, etc.) y existen en gran cantidad disponible en github (y otras paginas). Con esto me refiero a los archivos ocultos de Linux y Unix en la carpeta personal, que empiezan con un punto y que muchos de ellos dependen de la configuración del usuario que inicia su sesión. Entre los customizables están .Xresources .tmux.conf, .vim y .vimrc, .bashrc y .bash_profile, .xinitrc, .fluxbox, .i3, entre otros archivos y directorios.

Solo es cuestión de clonar o descargar desde un usuario git, que lo tenga disponible (puede ser tambien un developer) Este es un ejemplo, luego de  escribir como busqueda en google: dotfiles, o sino «fluxbox xresources dotfiles», entre otras claves.

Muchos usuarios que se manejan (y pagan) con Numix, desconocen las poderosas ventajas de personalizacion de un escritorio con estos distintos archivos ocultos, los cuales muchos de ellos se encuentran documentados sobre como efectuar su correcta instalación, ya sea por scripting o por copia normal.

Recomiendo explorar sobre esta alternativa.

Por qué debemos evitar systemd (opinion)

Entre los últimos lanzamientos, la mayoría de las distribuciones Linux han decidido reemplazar el sistema de inicio por systemd, en donde se promete mejor funcionalidad con el manejo de los procesos. No obstante, esto no es más que una imposición de manera drástica, porque varias dependencias de los entornos gráficos más conocidos (Plasma y Gnome) están actualmente ‘hardcoded’, y no se pueden instalar independientemente de systemd.

Se ha perdido la filosofía inicial de UNiX.
En esta última generación del software libre y el open source. Es más evidente el concepto de ‘GNU no es UNiX’.
Pocos concientizan la filosofía inicial de UNIX, además que systemd no proviene ni posee la estandarización POSIX, la cual indica las normas que debe cumplir un sistema operativo UNiX-like para que sea reconocido como el mismo. Linux, por esto, no asemeja ser clon de UNiX.
El querer reemplazar un nuevo estándar de un sistema de inicio que no tiene más de una década, no se compara con la estabilidad de init y SystemV, que esta presente desde los orígenes de la filosofía UNiX (hace ya 46 años).

Esquema muy  Centralizado
Por lo visto y experimentado, el nuevo modelo inicio de SystemD se adhiere la idea de “un solo linux” y la simplicidad.
Como es posible que actualizar Linux de una version anterior a una reciente desaparezca init por systemd como controlador del PID 1? Incluso, se reemplazan los scripts de inicio de los servicios por otros meramente no compatibles y controlados todos mediante este nuevo proceso inicial.

Que hacer al respecto?
Particularmente Recomiendo evitar utilizar cualquier distribucion Linux que lo posea, o mas bien empezar a utilizar FreeBSD 
Si usted como usuario le es complejo, pues recomiendo PC-BSD
Existe la alternativa de utilizar cualquier otro flavor BSD (NetBSD y OpenBSD), aunque para comenzar, con FreeBSD es suficiente.

Enlace

Proyectos que se originaron de OpenBSD, con numeros de bug irrisorios

Con el paso del tiempo y la evolución de OpenBSD, sus principales desarrolladores (liderado por Theo de Raadt)  han incursionado en proyectos que a consecuencia aportan mucho a la comunidad del software libre, incluso usuarios de windows.

Entre los principales destacados son:

OpenSSH, OpenBGPD, OpenNTPD, OpenSMTPD, OpenIKED, mandoc, LibreSSL.

Citando cada uno de estos proyectos:

  • OpenSSH is the premier connectivity tool for remote login with the SSH protocol. 
  • OpenBGPD is a FREE implementation of the Border Gateway Protocol, Version 4. It allows ordinary machines to be used as routers exchanging routes with other systems speaking the BGP protocol.  
  • OpenNTPD is a FREE, easy to use implementation of the Network Time Protocol. It provides the ability to sync the local clock to remote NTP servers and can act as NTP server itself, redistributing the local clock. 
  • OpenSMTPD is a FREE implementation of the server-side SMTP protocol as defined by RFC 5321, with some additional standard extensions. It allows ordinary machines to exchange emails with other systems speaking the SMTP protocol.
  • OpenIKED is a FREE implementation of the Internet Key Exchange (IKEv2) protocol which performs mutual authentication and which establishes and maintains IPsec VPN security policies and associations (SAs) between peers. The IKEv2 protocol is defined in RFC 5996, which combines and updates the previous standards: ISAKMP/Oakley (RFC 2408), IKE (RFC 2409), and the Internet DOI (RFC 2407). OpenIKED only supports the IKEv2 protocol; support for ISAKMP/Oakley and IKEv1 is provided by OpenBSD’s isakmpd(8)or other implementations on non-OpenBSD platforms.  
  • mandoc is a suite of tools compiling mdoc, the roff macro language of choice for BSD manual pages, and man, the predominant historical language for UNIX manuals. It is small, ISO C, ISC-licensed, and quite fast. The main component of the toolset is the mandoc utility program, based on the libmandoc validating compiler, to format output for UNIX terminals (with support for wide-character locales), XHTML, HTML, PostScript, and PDF.

    mandoc has predominantly been developed on OpenBSD and is both an OpenBSD and a BSD.lv project. We strive to support all interested free operating systems, in particular FreeBSD, NetBSD, DragonFly, illumos, Minix 3, and GNU/Linux, as well as all systems running the pkgsrc portable package build system. To support mandoc development, consider donating to the OpenBSD foundation.   

  • LibreSSL is a version of the TLS/crypto stack forked from OpenSSL in 2014, with goals of modernizing the codebase, improving security, and applying best practice development processes.
    Primary development occurs inside the OpenBSD source tree with the usual care the project is known for.
    On a regular basis the code is re-packaged for portable use by other operating systems (Linux, FreeBSD, Windows, etc).

    Muchos usuarios Linux desconocen el fondo de como se han originado estos flamantes proyectos para la ciencia en computacion

UbuntuBSD, UNiX para seres humanos

Vía Slashdot y softpedia, se encuentra en desarrollo (fase beta), el proyecto UbuntuBSD, que no es mas que una version de ubuntu con el kernel de FreeBSD (similar a Debian GNU/kFreeBSD).

El proceso de instalación se asemeja al de Ubuntu Alternate (Modo texto), y además trae soporte nativo para ZFS, en el cual se instala por defecto (FreeBSD lo posee desde versiones anteriores en conjunto con UFS).

La diferencia en la instalacion del entorno gráfico frente a Ubuntu Linux consiste en XFCE4, en lugar de Unity, incluso la separacion de la particion /boot con sistemas de archivo UFS.

Enlace para la descarga

Es posible el Internet sin Linux? Si, gracias a BSD

En los medios tecnologicos circulan noticias afirmando sobre que seria el internet sin Linux. Estos medios no se percatan que de no ser asi, este fuera mucho mas robusto, debido a BSD.
BSD esta vigente desde 1977 y el Internet se empezo a llamar como tal desde 1983 (tomando mas en cuenta el precursor llamado ARPANET desde la decada de 1950, para fines militares). Casi todas las implementaciones de TCP derivan de la 4.4 BSD-Lite.

Segun data Wikipedia:

Es especialmente importante la implementación de TCP de 4.4BSD-Lite, que salió en junio de 1994, y es la que se toma como referencia por haber sido la base de muchos sistemas actuales. Hoy en día, se sigue usando para enseñar cómo funciona un sistema TCP. 1
Muchas implementaciones actuales se han basado en alguna de estas tres en algún momento. Sin embargo, si hoy se creara una nueva, probablemente se basaría en una de las modernas (como la de FreeBSD, OpenBSD, NetBSD o BSD/OS) antes que en la original de 4.4BSD-Lite.

La reutilización del código de BSD fue posible debido a su licencia (licencia BSD), que permite que sea usado en otros sistemas, tanto software libre como propietario. Por ejemplo, Microsoft Windows usa código derivado de BSD en su implementación de TCP, e incluye herramientas de red para consola originales de BSD (detalles). También Darwin BSD, el sistema base de Mac OS X, parcialmente deriva de FreeBSD 5. Otros UNIX comerciales, como Solaris, también incluyen código BSD.