1. Background Links is a web-browser with a text-based interface [1]. In situations where X forwarding is not available or practical, it is of great utility. For example, if accessing a remote host on an SSH connection over a low bandwidth connection, this utility would provide the ability to provide access to web pages or web applications only available on a private network accessible to the remote host. The purpose of this proposal is to include links in the SFW consolidation as part of general effort to make more open source software available to Solaris users. Links is externally maintained Free Open Source Software (FOSS). Sun's role with this project is to port and monitor the open source project. For additional information about the project or originating community, see [1,2,3]. Upstream code changes are not currently needed or anticipated because the project already compiles and runs under Solaris and the version being integrated is stable. This utility is much like lynx, another FOSS text-based web browser. Links supposedly has a superior implementation with fewer blocking function calls [2]. This project proposes integrating version 0.99 of links, although newer versions exist in an active development branch. The newer versions adds support for a graphics mode [3] which adds a considerable amount of new dependencies not desired for the current scope of this project. There is also something to be said for keeping a lightweight web browser lightweight. A derivate of links 0.96 called elinks also exists. Links is licensed under GPLv2 or later, though Sun will only it under version 2. See OSR #8524 for more information. This project requests a minor release binding. 2. Architecture Links is a single standalone binary (/usr/bin/links) with few library dependencies, so the program's architecture is very simple in terms of how it relates to and integrates with Solaris. It includes a man page that describes command-line parameters and the program's interactive interface. (/usr/share/man/man1/links.1) The package installs into the standard /usr directory structure and does not conflict with any other programs. Links uses industry standard protocols (http, https, ftp, proxies) to provide as complete a web experience as possible using only an ascii text interface. As it is a simple utility, it requires no special security consideration. It does not store passwords. 3. Out of Scope The only architectural issue that requires ARC review, according to the FCL (FOSS Check List) is that links currently does not implement IPv6 support. Adding IPv6 functionality is considered out-of-scope since, currently, Sun is not taking an active role in this project, and neither intends to make substantial upstream code changes, nor fork the project. This does rule out adding IPv6 support at a later date. 3. Interfaces & Dependencies Links' only requirements are a POSIX environment, OpenSSL 0.9.8 or later (for full https functionality), and gcc or libgcc-3.3 or higher [4]. No projects are currently known to depend on links. Exported Interfaces: Interface Name Classification Comments --------------------------- ------------------- --------------------------- SUNWlinks Uncommitted Package Name /usr/bin/links Uncommitted Executable location /usr/share/man/man1/links.1 Uncommitted Man page links Uncommitted Commandline syntax Imported Interfaces: Interface Name Classification Comments --------------------------- -------------------- -------------------------- OpenSSL Contracted Unstable PSARC/2003/500/contracts/*TBD* 4. References [1] http://links.sourceforge.net [2] http://freshmeat.net/projects/links (see Nov 26th 1999 comment) [3] http://links.twibright.com (download section) [4] http://www.sunfreeware.com/programlistintel10.html#links