Sustainable and autonomous software

Any other tech-related topics
Post Reply
Message
Author
lyx
Posts: 84
Joined: Mon Feb 15, 2010 1:23 am

Sustainable and autonomous software

#1 Post by lyx »

This is a split-off of the following thread: http://www.portablefreeware.com/forums/ ... f=2&t=6079

Relevant past posts:
webfork wrote:
cib wrote:However, as a programmer, you don't only follow trends - you set them.
Absolutely. This is one of the basic reasons of why developers create software, of which there are many. However, sometimes developers need a program to do something so they build it using the tools they have available to do it as quickly as possible. Happily, many release it as freeware and I appreciate that, whatever language they use.

However, it certainly looks good on your resume to point out that you produced software 10 years ago that people are still actively using. Two ways to do that are to make it portable / self-contained and to use open source and protocols. Portable means it can be more easily emulated and open means someone else can rewrite it to work on another system, perhaps one you don't have time to write for. Users should look for these elements as well since they increase the staying power of software and we don't have to learn a whole new program with a new interface every 5 years.

As a result, using .NET libraries that are not open with a portability that's at best unclear means restricting your software in the long term.
m^(2) wrote:.NET will be around many many years to come and I would be very surprised if MS even noticeably reduced involvement in it any time soon.
I think the assumption that as long as it "makes money, Microsoft will continue to support it (source)” but they have done it before with VB and alienated a lot of developers. They abandoned IE 6 at the height of its popularity and presumably any lasting control of internet standards despite their own internal Internet Tidal Wave memo. As with the Ruby project, the talented developers working on this software may be put to another project with changes in priorities or leadership.
lyx wrote:Unfortunatelly, the "staying power" not just depends on the software and license. Both may be a prerequisite, but without constant strong interrest/support from the maintainers or the audience, those nice downloads will simply vanish from the surface of the planet. The internet is not a reliable longterm datastore. Here's something to try: go to the websites of your favorite opensource applications, note how "big" the interest from the maintainer/fans is - then check for binary and source downloads of older versions :) And no: The newest version doesn't usually contain all the benefits of older versions. An app that may once have been compilable on X, may in its current version no longer support that target.

Bottom line: unless there are enough people interested in something or you do have an own backup, software simply stops being available.

Similiar conditions apply to future development and porting - nothing happens unless someone is interested enough to do it. Just because a lot of people COULD do something doesnt automatically make that happen. This argument is what mainly backs my earlier comment about what kind of project-style i prefer: Without stable interest, not much gets done.

"Software" doesn't have staying power. People's interest in a particular software is staying power - the tech just sets a cap on what can be done IF the required interest and manpower is there.

_________________________

As for microsofts interest in .NET: NET and its related frameworks are not just important to MS - they are perhaps more important to them than anything else. Even more important than windows. Middleware and frameworks are microsofts desired monopoly, and NET is central to their current plans. They gave up on the OS-monopoly many years ago: Sure, windows is still important to them, but mostly as a leverage to bundle middleware. To MS, it's not about "does it run on windows?" but instead "does it run on the middleware that is controlled by us".

I'm kinda amused that so many people haven't noticed this happening in all those years. Why on earth do you think that MS is pushing .NET so hard and wiring it to other MS middleware so that you get locked into a dependency-web of MS-middleware? I mean, its not like MS made any secret about this intention, and high profile people in the industry predicted this years ago (anyone remember that Joel on Software article "How MS lost the API-War"?).

CIB's remark regarding support and promotion was more spot-on than he perhaps realized. This isn't about OS-wars - it's about the "Sub-OSes" that run on top of existing OSes and abstract those away. It's about "software-platforms", not operating systems - always has been (back then, it was just that the platform (the windows API) was close to the OS), and still is.
webfork wrote:Note: I know this open concept is sliding away from the original topic, but I didn't quite feel this was a unique enough to move to a new thread.
lyx wrote:unless there are enough people interested in something or you do have an own backup, software simply stops being available
Really? Have you been to Sourceforge? Have you seen the list of open projects from 10 years ago? Perhaps those specific projects aren't active anymore, but that doesn't mean the code hasn't found a home elsewhere.
lyx wrote:The newest version doesn't usually contain all the benefits of older versions. An app that may once have been compilable on X, may in its current version no longer support that target.
What you describe is a program with all software, not just those projects with open code. Its not clear what will happen when a maintainer of an open project walks away. Its very clear what happens when a project ends for closed source projects: activity freezes at the point when its abandoned. If they see fit to remove the binaries and there are no up-to-date mirrors, that goes away too as it did here on PFW with AAST and Marxio Timer.
lyx wrote:Without stable interest, not much gets done.
Again, a problem with all software, not just one with open code. If there's no interest in a project for a Winston Churchill trivia game, who cares if it dies? However, if YOU are interested in a project, YOU have at least the ability to bring a project back to life. Even a little interest in a slow-moving project is better than no activity in a dead project.

lyx wrote:I mostly agree except with two things: One is that the reason why i singled out opensource software when pointing out the maintenance and interest problem, is that OSS often relies on contributors and the few (if its even "multiple") people of the core team often do it as a sideproject. Take a closedsource application, with a single maintainer and make it opensource. The idea in peoples heads (fueled by opensource propaganda) often is, that then magically all kinds of people will contribute, simply because they technically could do it. In practice, this storm of contributors however often simply doesn't happen. Often, not even one single patch is contributed. The result then in practice is identical to closedsource software, because the opensource possibilities aren't used.

The reasons why this happens so often are many and enough stuff for a seperate forum topic. Of course, this does not make closedsource software superior in that regard - rather, my point was just that for practical constraints, OSS as well often isn't superior. And let's not forget: Sourcecode can be just as cryptic as disassembled machinecode - especially IF a lot of external contributors randomly apply patches without thinking much about the big-picture - because the result indeed may be "patchwork". Again, this doesn't make closedsource better - it just means that opensource CAN make something possible - but just because the possibilities are there, it doesn't mean that it automatically happens. OSS can be part of a solution, but it alone by itself isn't a solution yet.

As for sourceforge and similiar datastores: First, the project maintainer moderates the files on the datastore. Often, he will only keep the last N versions, or even only the last version (thus, just using the datastore as a webspace provider). But that aside: The only reason why providers like sourceforge can keep downloads for so long without deletions made by the provider, is simply that not all software is stored on these providers. The reason for this is that if you take all those public providers of "web-memory", it's less memory than would be needed to store every app that was ever released. And not just that: The amount of application versions created per day also is higher, than the speed at which memory of such providers increases (yes, that too isn't specific to applications. Applies to media too).

The only agents which in total indeed have enough memory to store everything ever done, are the offline harddisks of users - coincidentelly, they are also the only ones who could have distinct enough tastes to have an interest in storing unpopular data. This is the whole reason why it was even possible to create online datastores of all kinds of ROMs/diskimages/tapeimages of older architectures: During a time, where public providers couldn't care less about certain data, there were users who kept offline backups because they cared. As with OSS, that doesn't make online datastores useless, but rather it means that they're complimentary - they by themselves alone cannot do all the work.

User avatar
webfork
Posts: 10823
Joined: Wed Apr 11, 2007 8:06 pm
Location: US, Texas
Contact:

Re: Sustainable and autonomous software

#2 Post by webfork »

lyx wrote:magically all kinds of people will contribute
This has been discussed elsewhere at great length; if anything has been learned in the open source community over the last 10 years is that open software is not a magic pill. The benefits are not guaranteed, but we know ahead of time exactly how many contributors there will be if the project remains closed: zero.

Torvalds once said that open software is about self-interest. Because many people benefit from the success of projects like Filezilla, Linux, and Azureus, many people are involved. Creating a project no one cares about and making it open isn't likely to create interest.

Post Reply