cheesehead(Brainstorm moderator)
wrote on the 2 Jun 09 at 17:07
The rationale is unclear. Please explain which dependency and installation problems theses solutions are trying to solve.
Software repositories serve two purposes: Compatibility and security. Can these third-party executables achieve the same levels of compatibility and trust as repo packages?
These third party software will be released by a major organization such as the Ubuntu foundation through a specific section on the site, so security is ensured.
The software in a SFS is run in user mode and therefore can not (theoretically) to ruin the installation of the system.
The level of compatibility will be maintained because SFS technology is designed to support all software LSB compatible, when some of them use some non-standard libraries (or not in the base installation of Ubuntu), they will be included in the package (executable) SFS circumvented any problems of incompatibility.
This technology is intended to be used as an alternative that works in harmony and cohesion with the consolidated tool for software installation repository via apt (or synaptic for example) therefore it is not a replacement for the relatively stable system upgrade (apt).
The goal is to allow easy exchange of software between people, which is now impossible on any Linux distros.
It will also further simplify the use of the software on Linux, because it allows to run stand alone executable file like MacOs or Windows does.
"The rationale is unclear. Please explain which dependency and installation problems theses solutions are trying to solve. "
A lot of people (not just me) happen to uninstall a software on Ubuntu (and also in other distros) which causes the removal of many other packages together.
Sometimes it even happened to remove the whole ubuntu-base completely emptied the installation of Linux.
cheesehead(Brainstorm moderator)
wrote on the 3 Jun 09 at 12:12
If the problem is unintended package removal, wouldn't that be a bug (or usability bug) with the package manager?
I've mistakenly removed packages, too - because I misunderstood what the package manager was trying to tell me (example of a usability bug).
These ideas are cool, and probably worth doing for other reasons. Since they may be much more effort than changing a few dozen lines of source in the package manager, is there a good use case or two for this feature?
"These ideas are cool, and probably worth doing for other reasons. Since they may be much more effort than changing a few dozen lines of source in the package manager, is there a good use case or two for this feature?"
You have right !!
In fact, in my opinion this is the best solution to increase the exchange of free software among the people,ad also greatly it simplify the lives of all those people who switch to Ubuntu from Windows or Mac.
I believe that you have understood the motivation of this solution on Ubuntu Brainstorm.
In your opinion what would be the best justification that can arouse interest in the community?
I would strongly oppose introducing a new file type or a new layer on top of the Apt/deb system. The problem is that userland tools dont provide enough options - NOT a flawed architecture.
We cannot use additional layers of complexity to just pretend Ubuntu apps are structured with static libraries. We need to use the GUI to ensure debs are distributed with everything needed for its intended destination.
Furthermore, this approach will eventually break the system. Linux is structured to make use of shared libraries and shared resources. Installed programs share their resources.
You absolutely cannot do this as a default way of people to distribute applications. The system just does not work this way. For example, you cannot ship 20 different copies of a GTK library. You'll end up with:
Inconsistent GUI
Wasted storage
Very high memory utilization.
You cannot simply package applications against a 'standard' linux. This mystical platform only exists at the kernel level. You NEED to have dynamic, floating apps which list their dependencies.
While agree some times apps need to be self-contained - you can already do this. You CAN BUILD APPS WITH NO DEPENDANCIES. But they are HUGE.
Various tools allow you to run isolated applications which cant touch the system, if that is your goal.
"Furthermore, this approach will eventually break the system. Linux is structured to make use of shared libraries and shared resources. Installed programs share their resources."
I think that you DON'T understand the main idea!
The sfs packages contains only some libraries not provided in a standard Ubuntu installation, for example in a SFS package there will never be gtk + libraries or system libraries, but only those libraries which that particular program needs to run properly and the library that are not in a normal Ubuntu installation.
Is also not true that the static and dynamic linking between libraries does not guaranteed, because the SFS load the GUI libraries and other important libraries from the standards shareds directoryies (/usr/lib/ for example), rather less common libraries are loaded from the library directory contained in the SFS package, SFS also allow a system for the Dinamic Library Linking, I try to explain with an example how it works:
Take 2 programs (programA.sfs and programB.sfs) both containing the same library called libraryX1.so.
If the libraryX1.so is contained in the package programA.sfs when we launch the programA.sfs it will be loaded into memory, when we run the prgamB.sfs it will first seek the libraryX1.so into the mounted directory of programmA.sfs and if found this, then do not load back into memory the same library, but will focus on the library already present in RAM, thus saving time of loadinf and space RAM.
So in conclusion, unlike other technologies SFS Technology provides an interaction and a dynamic link between the libraries, does not contain standard libraries already present in a common installation of Ubuntu, is not a replacement for apt, it began as an aid to making using the software easier on Linux.
The motto of Ubuntu is "Ubuntu for Human Beings", well I think that the SFS Technology is a solution very close to the "Human Beings".
Yes it's clear but redundant.
Apt-get already provides this functionality for shipping dependencies with applications. Its called having 2 .debs in a zip file.
We need to use existing tools to build functional, interactive, and intuitive facilities to users. I can't stress this enough: The architecture is NOT BROKEN. We do NOT need to implement 'SFS technology'. The functionality already exists.
You absolutely must let the apt system maintain full responsibility of all software on the system. If you dont, it breaks.
We already have the ability to seamlessly bundle software to work on different systems. Its called dependencies. If you need to hook into a third party repo, then bundle the script into a .deb for petes sake.
The trouble is that nobody has developed the GUI tools to do everything apt-get and other console commands do. Really, the functionality already exists we need to make the GUI tools smarter. Synaptic is rubbish for end users, and gnome-app-install is brilliant but half done.
Its the user-land that needs fixing NOT THE ARCHITECTURE!!!!
"The trouble is that nobody has developed the GUI tools to do everything apt-get and other console commands do. Really, the functionality already exists we need to make the GUI tools smarter. Synaptic is rubbish for end users, and gnome-app-install is brilliant but half done."
Ok I agree, but the key to winning is the philosophy that Apple is using:
In MacOS X there are some software that needs to be installed to work properly and some other softwares that you can directly copy on your hard drive and they works!
Sincerely SFS Technology is not an instrument to supplant apt and also it can not replace the entire architecture.
(I don't understend why are you insisting on it?!)
But certainly it helps spread of the software, simplifies the use of software and makes it the longest life of the operating system.
You're right when you say that we need to offer more graphic tools to the end user,but we should also provide a more simple "use" of the applications.
People, simply want to make double-click to open a program, also people want to exchange freely and easily the software.
Ignoring things such as this idea, signify to live with bandages over his eyes, while the competition beetween Operating Systems goes on!
However Linux is designed to run stand-alone programs, and if we really want to improve this system, we must provide a service of its kind to people.
There is a flaw in your concept of SFS applied to Ubuntu.
That is programmers does not develop software for ubuntu itself, they develop software for linux.
THEN the Ubuntu packagers adapt the application to run fine in ubuntu, without this passage your system may not be able to run the application out of the box.
And now another question:
let's suppose that Ubuntu implement the SFS engine and functionality, who is going to package all the application into SFS?
Developers surely won't do it :)
( I'm a developer and I will not package something for the sake of only one distribution )
Well, in theory SFS Technology could be installed on any Linux distro, not just Ubuntu, then a packager could make an SFS that can run on all distros.
But attention !!
If you create an sfs containing non-standard libraries of Ubuntu, this might create problems of compatibility with other distros, that's why it's important to create a team of volunteers (which I could manage) that works only on packaging software for Ubuntu in the SFS format.
However, for developers that make software LSB compatible, is more easier to create an sfs that works on all distro instead of making a package for each distro or worse only for a single distro.
Another important thing is that: while at each release of Ubuntu the packager must upgrade all packages, with SFS, there would not be needed, because new distro's releases usually have a certain level of compatibility with earlier releases of software, then an SFS created for Ubuntu 9.04 with good probability could also run on Ubuntu 9.10, then less time spent in the conversion of packages and less men use working at convert all!
Furthermore I reiterate that SFS is not an installation system, and then the software in the sfs format will be auto executable and ready for use, without having to install nothing. Some software that require installation will not be converted to sfs. For example pulse audio , jack, system's software, software for the correct use of the Operating System and many more could not be in the SFS format!
Ubuntu is one of most diffuse Linux distro in the World, I believe it is already very important to exchange the software even among Ubuntu users.
Just starting to do it!
The is the wrong approach. We absolutely cannot introduce a new package format. For a few reasons:
* Effort required by developers
* Distracts and confuses users (even if its superior - not the point)
* Apt-get NEEDS to have ownership.
* There is NO NEED to introduce something new!!!!!!
You need to understand this point. The functionality for single file installers that work on all distros ALREADY EXISTS. Seriously, you just need to package the libraries in with the program. It just isnt popular to do so because:
* It makes downloads enormous
* Libraries get updated with security fixes and ALL apps need the updated libraries.
Please, PLEASE look into how linux works, not just the debian package system. User experience is confusing enough already. We can't afford to distract people with solutions too problems that dont exist. Seriously investigate what the architecture first before bringing in new things which confuse users.
Ok, this could be an initial problem, but there are already many developers involved in creating packages for Ubuntu, then Ubuntu's Leader could create a team of developers only for the SFS Technology.
"* Distracts and confuses users (even if its superior - not the point) "
Oh, this is really absurd!
This technology was created to simplify things not to complicate. An user can select to install a program using synaptic or use the SFS version of the same program (ready to use) that don't need installation!
"* Apt-get NEEDS to have ownership. "
Of course!
But you don't understand that SFS Technology is NOT AN INSTALLATION SYSTEM !!
"* There is NO NEED to introduce something new!!!!!! "
This is your opinion, that I respect, but you deny any improvement and progress.
You say also:
"User experience is confusing enough already. We can't afford to distract people with solutions too problems that dont exist. "
Well, one of most important Linux's (not only Ubuntu) problem is the use and the installation of the software, peoples that come from Windows feel off using Linux's software, in particular the software installation system, because they are spoiled in having a single file to install.
SFS Technology offer to have a single executable file ready to use that requires no installation, so it's even better!
MacOS X has already adopted this strategy from a long time. It's time to wake up!
vincenzodentamaro :
Please do not complicate the issue. You do not seem to understand that this SFS thing you are touting is not required to get the end-user experience you want.
Look, this is not an opinion: We do not need this 'SFS' technology to make single-file installations which work over multiple distros. You have plenty of ways of doing this already.
Please, look at Firefox. Look at the beta download - that works over multiple distros and is a self-contained installation. Put that inside a .deb file and you're set.
Please research apt-get and the linux architecture. We cannot just ask developers to repackage everything into some new quirky format just because you think it simplifies everything.
Apt-get already works over different architectures.
Alien allows you to convert from RPM to native deb and vice versa.
Please, this conversation is distracting from much simpler solutions to the problem. It's only a GUI issue it is not a problem with apt-get. We do NOT need an additional layer over the top simply because existing GUI tools do not provide functionality.
The move voices touting different things makes it hard for developers to hear the right option. You've already got people calling you a fanboy on here because you won't listen.
We only need to update the GUI tools. This is NOT a platform issue. I will not repeat this.
I think people here just miss the point: it is hard to RUN apps on Linux!
-Binary + payload: user needs to make it executable first, and it's not really easy to make a self-extracting ELF binary
-Script + payload: you still need to make it executable and by default it opens in gedit with an error.
Sorry, but the usability really sucks (and I am an Ubuntu user!)
One simple example of "suckiness" is that it is very hard to install software offline on Ubuntu (sure it is possible, but it is not easy!)
And please don't come with the .deb talk: debs are for INSTALLING software, I'm talking about RUNNING software...
NEW:
--This new version allows O.S. to associate the icon contained in the file into the executable SFS to the correspondent SFS, having the same effect as the executables files do on Windows or Macintosh.
--Make Protable Option: This new option allows you to save the configurations of applications in the folder where the executable resides SFS, it is a portable device (like a USB pen) and a normal directory.
The option is not enabled by default.
Here is the link to the video on how to create an SFS.
I made this video guide on a 64-bit machine, but the procedure is the same also for the 32 bits machines (i386), you have just to change the "architecture type" from 64 to x86.
This is the link:
http://sfs-technology.googlecode.com/files/HowToMakeSFS.ogv
I think that the sfs technology is an excellent solution, because:
If for example I have my hard disk full of applications and I have little space available (or at least little space in the ubuntu's partition)
At this point, what I do?
I am forced to uninstall some applications (many of which are very heavy), instead using SFS, this does not happen, because the SFS applications may also reside on an external support or on a partition dedicated to another operating system like Windows or Mac.
Cool !!
If you didn't use sfs you could put MORE apps on your system before you ran out of disk space because you don't have a copy of the same library in each application. You have the library in one location which all apps refer to saving disk space.
The SFS package is a compressed filesystem, so your space is optimized.
Nowadays, as you know, time is a resource that can't be reused, once you consume 1 hour of your life you can't get back that time no more. With SFS packages you can save time.
Hard disk space can be reused if you save the program on an external storage disk, so your hard disk space is freshly new.
Everyone can buy storage memories for cheap so if you don't use a sfs program you can put that on a pen drive or every storage media you want.
Naturally you can run the SFS program from any kind of external storage media!.
QUOTING FROM SFS SPECIFICS:
---------------------------------
What is NOT contained in the sfs file ?
The Desktop environment's libraries and other operating system's native libraries as for example KDE libraries, gtk+2, glib, libc6 and many more.
---------------------------------------------
For example the size of installed version of SongBird is about 55 Mbytes, instead the SFS version of SongBird is about 29,3 Mbytes.
The size of SFS version of Firefox is 9.5 Mbyte .
Are 9.5 Mbyte a problem for your hard disk?
Mplayer's size with ALL CODECS is 10,5 Mbyte against over 30 Mbyte if installed.
Programs when are installed on your hard disk are splitted in a lot of parts, increases their effective size (called fragmentation) instead using SFS, fragmantation is optimized, saving space on your hard disk.
I really don't think that SFS is going to be the solution...
maybe only a Win32 or a OSX GUI for apt-get with the ability to export the downloaded files to a single file, so when the user is back on his computer, he will install it as it were a common deb file (something like a Super Deb) with all the UPDATED libraries and the dependencies required.
People withoput internet connection needs to have access to software installation, and maybe SECURITY UPDATES.
The novelty consists in the ability to install some dependencies which can not be contained in a package SFS,such as for example, some daemons and services.
I recall coming across this software package when a friend mentioned a kludge'd package manager written in Pascal, almost totally using UNIX system calls, and chmod's /etc/modules in it's .deb preinst. Not to mention enough security holes to sink the continental united states.
I filed a few bugs on it and forgot about it.
This is not even an idea. This is blatant advertisement, and comments consist of Vincent announcing releases.
I, for one, would like to see this marked invalid. apt-get in its most prime stages handled dependencies better then this, and the code is not even a contest.
Multiple package managers on a computer are also something that we try to avoid, this is the reason why CPAN, Ruby Gem, PEAR and countless other software installers are having their packages ported into the apt repos.
So, why not use SFS?
Erm, because it uses loop devices, it will max out at 256 packages at once. And that does not count if you would like to have your own.
It's inutil that you mention other projects that are not my property.
You are using an older version of surce code, the shell('rm /dev/loop*')command was removed from the source, and I'm trying to improve the loop devices use.
This kind of things can be done only with loop devices, that in Linux are too much powerful!
Well the code that you are mentioning is integrated into the daemon software that is totally separated by the SFS applicaton that runs ONLY in USER MODE. SO YOUR SECURITY ISSUES ARE UNJUSTIFIED.
This is my idea, naturally could be bugs and issues to solve, and I'm here just to do it!
Would appreciate a reporting error rather than an advertisement against.
Remember that it is not an apt replacement, but only a solution to simplify the use of software in Linux.
There are no dependencies to handle and nothing to install.
All the SFS applications runs in USER MODE.
Just to clarify who we are dealing with, the SFS technology was developed by the people responsible for the Ubuntu-based distributions Linux Tiger (http://www.youtube.com/watch?v=ErwrA4jWL5w) and the soon-to-be-released Linux Black Wolf, as shown in their website (www.unixteam.net).
As you can see from the linked video, said distributions illegally include wallpapers and icons ripped from Mac OSX. Also note that while being Ubuntu-based, their licenses blatantly violate the GPL (being only for personal use).
No one encourages anything like that. There are and there will already be defamatory of complaints for that article.
This is not the right place to discuss about it.
However the icons and much more are not those of the Mac, I have the evidence.
There are people who, to be famous, does hurt to others and jump on the shoulders of others.
I know this is a bad world but we must be able to distinguish the good people from the bad and the profiteers from who has tried to do something of non-profit (as in my case).
I worked for the SFS Technology for years and I NEVER, I never cashed anything.
I'm sorry, It was not my intention to make personal accusations. I've just read the article and quickly jumped to conclusions. If what tou say is true (and I can't deny it, since I haven't tried that distribution myself), then that article is wrong and you really should complain to the author of the website, since it's damaging your reputation and the credibility of your work.