<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Can Linux find one good way to install software?</title>
	<atom:link href="http://practical-tech.com/operating-system/can-linux-find-one-good-way-to-install-software/feed/" rel="self" type="application/rss+xml" />
	<link>http://practical-tech.com/operating-system/can-linux-find-one-good-way-to-install-software/</link>
	<description>for practical people.</description>
	<lastBuildDate>Wed, 17 Mar 2010 00:49:37 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Yfrwlf</title>
		<link>http://practical-tech.com/operating-system/can-linux-find-one-good-way-to-install-software/comment-page-1/#comment-421</link>
		<dc:creator>Yfrwlf</dc:creator>
		<pubDate>Sat, 12 Jul 2008 19:09:42 +0000</pubDate>
		<guid isPermaLink="false">http://practical-tech.com/?p=347#comment-421</guid>
		<description>Thanks for the great post, I hope more Linux users read it.

One thing that I don&#039;t like mentioning but you have to be careful of is that the companies behind Linux distros may not always have truly modularizing Linux software in their best interest.  If they wanted to be mean, they would try to prevent any software on their systems from being modular so that users would be forced to install their OS to have access to certain programs.  Of course, that&#039;s ridiculous, and things shouldn&#039;t be that way.  Not to mention, by embracing things like that, if any of them are, they are shooting themselves in the foot since Linux needs all the mutual help and working together it can get, and there&#039;s just so many ways that making software installation easy will solve.  Linux adoption will take off so much faster after this is solved for too many reasons to list here.  All we need is some point of standardization, SOMEwhere, like most all the package managers being able to use all the different package file formats, or being compatible with a new format or better yet, a container format for packages.  The Berlin API sounds like it will be the best solution by far, though.

To JJS: I&#039;m not suer I follow the problem, the LSB sounds really good to me as long as they make it easy to see which non-common libraries aren&#039;t included in it, so you can include those with your program.  They definitely need to make this process easier for you, it sounds like.  Any libraries which get really heavily used can be added in later LSB revisions of course.  When downloading packages from websites, they could contain a URL for automatic updates, and check to see if any of the libraries were already installed to reduce wasteful downloading.

A good goal would be to have there be no need for a distro to have a repository.  Instead, there could be one repository if you wanted there to be, the Linux software repository.  But of course that wouldn&#039;t happen and there&#039;d be multiple ones still or at the very least multiple mirrors.  The Sourceforge repository, Freshmeat, Download.com, etc etc.

Any way, I definitely don&#039;t think your method of continuing to do things the way they&#039;ve always been done is at all realistic.  We don&#039;t want to compile packages for specific distros, vendors can&#039;t and won&#039;t do that nor is it at all fair to users running distros that are lesser-known.  We want programs compiled once, and have them run on all Linux distros.  All it takes is a small commonality in all package managers or on all distros to give users the ability to install any kind of package.  That&#039;s what this post is about, and it&#039;s what we want and need.

No problems are impossible to solve, and this one in essence is very simple, it just needs a modular, flexible, expandable solution so that it can adapt to new software and new libraries and the future while allowing previous software to continue to function.  It CAN be solved, and it will be, and without any detriment to anyone.  Even talking about performance issues, I don&#039;t believe deep integration is the key to performance and definitely not helpful for software modularity.  I believe programs can be very modular while still very fast, it just depends on how well they are programmed.

Any way, go standard API to release us from this locked-up limited software prison! :)</description>
		<content:encoded><![CDATA[<p>Thanks for the great post, I hope more Linux users read it.</p>
<p>One thing that I don&#8217;t like mentioning but you have to be careful of is that the companies behind Linux distros may not always have truly modularizing Linux software in their best interest.  If they wanted to be mean, they would try to prevent any software on their systems from being modular so that users would be forced to install their OS to have access to certain programs.  Of course, that&#8217;s ridiculous, and things shouldn&#8217;t be that way.  Not to mention, by embracing things like that, if any of them are, they are shooting themselves in the foot since Linux needs all the mutual help and working together it can get, and there&#8217;s just so many ways that making software installation easy will solve.  Linux adoption will take off so much faster after this is solved for too many reasons to list here.  All we need is some point of standardization, SOMEwhere, like most all the package managers being able to use all the different package file formats, or being compatible with a new format or better yet, a container format for packages.  The Berlin API sounds like it will be the best solution by far, though.</p>
<p>To JJS: I&#8217;m not suer I follow the problem, the LSB sounds really good to me as long as they make it easy to see which non-common libraries aren&#8217;t included in it, so you can include those with your program.  They definitely need to make this process easier for you, it sounds like.  Any libraries which get really heavily used can be added in later LSB revisions of course.  When downloading packages from websites, they could contain a URL for automatic updates, and check to see if any of the libraries were already installed to reduce wasteful downloading.</p>
<p>A good goal would be to have there be no need for a distro to have a repository.  Instead, there could be one repository if you wanted there to be, the Linux software repository.  But of course that wouldn&#8217;t happen and there&#8217;d be multiple ones still or at the very least multiple mirrors.  The Sourceforge repository, Freshmeat, Download.com, etc etc.</p>
<p>Any way, I definitely don&#8217;t think your method of continuing to do things the way they&#8217;ve always been done is at all realistic.  We don&#8217;t want to compile packages for specific distros, vendors can&#8217;t and won&#8217;t do that nor is it at all fair to users running distros that are lesser-known.  We want programs compiled once, and have them run on all Linux distros.  All it takes is a small commonality in all package managers or on all distros to give users the ability to install any kind of package.  That&#8217;s what this post is about, and it&#8217;s what we want and need.</p>
<p>No problems are impossible to solve, and this one in essence is very simple, it just needs a modular, flexible, expandable solution so that it can adapt to new software and new libraries and the future while allowing previous software to continue to function.  It CAN be solved, and it will be, and without any detriment to anyone.  Even talking about performance issues, I don&#8217;t believe deep integration is the key to performance and definitely not helpful for software modularity.  I believe programs can be very modular while still very fast, it just depends on how well they are programmed.</p>
<p>Any way, go standard API to release us from this locked-up limited software prison! <img src='http://practical-tech.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: JJS</title>
		<link>http://practical-tech.com/operating-system/can-linux-find-one-good-way-to-install-software/comment-page-1/#comment-231</link>
		<dc:creator>JJS</dc:creator>
		<pubDate>Wed, 25 Jun 2008 14:53:25 +0000</pubDate>
		<guid isPermaLink="false">http://practical-tech.com/?p=347#comment-231</guid>
		<description>As a developer of a FOSS project, I can speak firsthand to the issues involved in packaging.  First and foremost, it is hard.  An application of any complexity has requirements that probably require human intervention at some point between the project team and the end user.

I used to support the Linux Standard Base (LSB) initiative, but have come up against far too many of its limitations.  The LSB basically addresses compiled programs with no interfaces to other applications.  Here are some of the issues that it cannot resolve:

- Libraries:  My biggest complaint with the LSB is that it is a &#039;thou shalt not&#039; specification.  The allowed base libraries provide support for only the most trivial of programs.  The &quot;solution&quot; is to compile excluded libraries into programs statically.  This requires the developers to research the libraries and insure that all of their excluded dependencies are statically linked.  I will leave it as an exercise for the reader to come up with at least 5 ways that this approach drives developers away from porting applications to Linux.

- Interpreted languages such as Perl, PHP, Python, or Java:  There has been no definition for these at all, and although the most recent version added Perl and Python, the definition takes the same &#039;thou shalt not&#039; approach as with libraries.

- Databases:  Again there is no definition for which one or the minimum version required.

- Startup:  The definition defines what an init script must provide but does not explain how it gets installed to be available at system boot.

- Application documentation:  No mention.

- Security/bug fix updates:  No mention.  In fact, the underlying philosophy of the LSB would create an environment where each vendor is responsible for providing an update method, leaving administrators with the responsibility of hunting down announcements (like that of the Microsoft platforms), and ruining one of the best features of Linux distros.

Compare this with the most prevalent package management systems, DEBs and RPMs.  These take a &#039;Yes you can&#039; approach, and even a &#039;Perhaps you would also like&#039; attitude.  They allow the packager to define everything that is needed for the application, including minimum versions, without having to worry at all about the details of installation.  They provide automated update facilities.  And when creating a Debian package, the &#039;lintian&#039; utility is run to verify its correctness and will call out programs that do not have man pages among other things (I haven&#039;t built an RPM so I can&#039;t speak to its requirements).

For over a year now, I have been advocating that a utility for developers to easily create packages for specific distros (such as the ESP Package Manager at http://epmhome.org/index.php) and repositories for developer maintained packages be supported by the distros.  This would allow project teams or vendors to include their applications in the ecosystem of the distro package managers, which I believe is the best, if not only realistic, method of handling installation issues in Linux distros.

Later . . .   Jim

The Realeyes IDS, check it out at:
http://realeyes.sourceforge.net</description>
		<content:encoded><![CDATA[<p>As a developer of a FOSS project, I can speak firsthand to the issues involved in packaging.  First and foremost, it is hard.  An application of any complexity has requirements that probably require human intervention at some point between the project team and the end user.</p>
<p>I used to support the Linux Standard Base (LSB) initiative, but have come up against far too many of its limitations.  The LSB basically addresses compiled programs with no interfaces to other applications.  Here are some of the issues that it cannot resolve:</p>
<p>- Libraries:  My biggest complaint with the LSB is that it is a &#8216;thou shalt not&#8217; specification.  The allowed base libraries provide support for only the most trivial of programs.  The &#8220;solution&#8221; is to compile excluded libraries into programs statically.  This requires the developers to research the libraries and insure that all of their excluded dependencies are statically linked.  I will leave it as an exercise for the reader to come up with at least 5 ways that this approach drives developers away from porting applications to Linux.</p>
<p>- Interpreted languages such as Perl, PHP, Python, or Java:  There has been no definition for these at all, and although the most recent version added Perl and Python, the definition takes the same &#8216;thou shalt not&#8217; approach as with libraries.</p>
<p>- Databases:  Again there is no definition for which one or the minimum version required.</p>
<p>- Startup:  The definition defines what an init script must provide but does not explain how it gets installed to be available at system boot.</p>
<p>- Application documentation:  No mention.</p>
<p>- Security/bug fix updates:  No mention.  In fact, the underlying philosophy of the LSB would create an environment where each vendor is responsible for providing an update method, leaving administrators with the responsibility of hunting down announcements (like that of the Microsoft platforms), and ruining one of the best features of Linux distros.</p>
<p>Compare this with the most prevalent package management systems, DEBs and RPMs.  These take a &#8216;Yes you can&#8217; approach, and even a &#8216;Perhaps you would also like&#8217; attitude.  They allow the packager to define everything that is needed for the application, including minimum versions, without having to worry at all about the details of installation.  They provide automated update facilities.  And when creating a Debian package, the &#8216;lintian&#8217; utility is run to verify its correctness and will call out programs that do not have man pages among other things (I haven&#8217;t built an RPM so I can&#8217;t speak to its requirements).</p>
<p>For over a year now, I have been advocating that a utility for developers to easily create packages for specific distros (such as the ESP Package Manager at <a href="http://epmhome.org/index.php)" rel="nofollow">http://epmhome.org/index.php)</a> and repositories for developer maintained packages be supported by the distros.  This would allow project teams or vendors to include their applications in the ecosystem of the distro package managers, which I believe is the best, if not only realistic, method of handling installation issues in Linux distros.</p>
<p>Later . . .   Jim</p>
<p>The Realeyes IDS, check it out at:<br />
<a href="http://realeyes.sourceforge.net" rel="nofollow">http://realeyes.sourceforge.net</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: solution found to problem: problem yet to be found &#171; Iwbcman&#8217;s Weblog</title>
		<link>http://practical-tech.com/operating-system/can-linux-find-one-good-way-to-install-software/comment-page-1/#comment-224</link>
		<dc:creator>solution found to problem: problem yet to be found &#171; Iwbcman&#8217;s Weblog</dc:creator>
		<pubDate>Tue, 24 Jun 2008 15:21:14 +0000</pubDate>
		<guid isPermaLink="false">http://practical-tech.com/?p=347#comment-224</guid>
		<description>[...] Posted in Uncategorized    In response to: http://practical-tech.com/operating-system/can-linux-find-one-good-way-to-install-software/ [...]</description>
		<content:encoded><![CDATA[<p>[...] Posted in Uncategorized    In response to: <a href="http://practical-tech.com/operating-system/can-linux-find-one-good-way-to-install-software/" rel="nofollow">http://practical-tech.com/operating-system/can-linux-find-one-good-way-to-install-software/</a> [...]</p>
]]></content:encoded>
	</item>
</channel>
</rss>
