I want to put forward the idea of software recycling. Software recycling is software reuse taken to a new level, wherein the components that are outdated or written in older generation languages (of the current era) are retrofitted with newer components. Multiple integration points are determined & used to combine, create and establish collaborative functionality. In this way, we are able to take component-based development to a newer level, with the greatest reuse potential. Apart from this, Software Recycling also combines software hosting both from open source developers and commercial and independent software vendors. It thereby acts as a software catalog for various types of users such as students, professionals, and even organizations.
Software Recycling takes software reuse to a new level - wherein components that were written in older languages (of the current era), but which could be useful in certain scenarios are retrofitted with newer components or functionality and then are put up on a public catalog for use. This helps in reusing a lot of functionality without the need to rewrite a lot of it. It will essentially be a public catalog of software components, promoting component-based development. One of the greatest advantages will be that it would include thoroughly tested, documented, and maintainable code — which could allow for saving time in development. The possible users of this site may include students, professionals, and organizations alike.
It could also act as a source of learning for computer science students, to understand software reuse, component-based development, object-oriented programming, and a variety of other topics. This is not only by the thousands of components on the website that are available for download but also by legacy components that the team would have retrofitted with newer components to enable reuse.
It finally comes with the advantage of acting as a catalog of software components that can be used both publicly or privately within an organization. This enables a good amount of knowledge sharing in the entire organization and also in enabling a centralized repository.
Software Recycling is closely related to the concept of Green Software Engineering — but takes a deviation in that it not only concentrates on the aspects of green processes applicable to software development but it enhances them to include software reuse, retrofitting, component-based development, and cataloging. It impacts the power consumption, resource usage, efficiency of software, effectiveness of the process, and utilization of development manpower - a net result that allows contributions to a green ecosystem. This also proves a maturity in Software Engineering thought processes for products & contribution of Software/Programming companies as other engineering companies to a greener society.
A software product was to be built on these ideas by my, now-closed, startup called TechArmy. There is only one website in this world that I could find closely related to my idea. This is a project supported by the University of Hamburg, Germany, the details of which can be found here.
From this site, I quote as below:
Green IT is study n practice of designing, manufacturing, using and disposing IT related hardware products in an efficient sustainable way with minimal or even no impact on the environment.
Green Software Engineering was attempt to apply these ‘green’ principles known from hardware products also on software products, software development processes and their underlying software process models.
Software Recycling can be now defined as:
“Software recycling is software reuse taken to a new level, wherein the components that are outdated or written in older generation languages ( of current era ) are retrofitted with newer components.
Such re-use that directly impacts the power consumption, resource usage, efficiency of software, effectiveness of the process, utilization of development manpower, and leads to a green ecosystem or environment is termed as Software recycling.”
This article is part of the series : [ SKP’s Novel / Innovative Concepts ]. A more Detailed Research Paper is available at - Computer Society of India Communications, Volume 39, Issue 5
Also published