Open source movement has meant that there

This set of Software Engineering Multiple Choice Questions & Answers (MCQs) focuses on “Software Reuse”.

1. Reuse-based software engineering is a software engineering strategy where the development process is geared to reusing existing software.
a) True
b) False
View Answer

Answer: a
Explanation: None.

2. The open source movement has meant that there is a huge reusable code base available at
a) free of cost
b) low cost
c) high cost
d) short period of time
View Answer

Answer: b
Explanation: The open source movement has meant that there is a huge reusable code base available at low cost. This may be in the form of program libraries or entire applications.

3. Consider the example and categorize it accordingly, “A pattern-matching system developed as part of a text-processing system may be reused in a database management system”.
a) Application system reuse
b) Component reuse
c) Object and function reuse
d) None of the mentioned
View Answer

Answer: b
Explanation: Components of an application, ranging in size from subsystems to single objects, may be reused.



4. COTS stands for
a) Commercial Off-The-Shelf systems
b) Commercial Off-The-Shelf states
c) Commercial Off-The-System state
d) None of the mentioned
View Answer

Answer: a
Explanation: None.

5. COTS product reuse means
a) Class and function libraries that implement commonly used abstractions are available for reuse
b) Shared components are woven into an application at different places when the program is compiled
c) Large-scale systems that encapsulate generic business functionality and rules are configured for an organization
d) Systems are developed by configuring and integrating existing application systems
View Answer

Answer: d
Explanation: None.

6. .NET are specific to which platform?
a) Java
b) Mac-OS
c) Microsoft
View Answer

Answer: c
Explanation: NET Framework (pronounced dot net) is a software framework developed by Microsoft that runs primarily on Microsoft Windows.

7. Which of the following is a generic structure that is extended to create a more specific subsystem or application?
a) Software reuse
b) Object-oriented programming language
c) Framework
d) None of the mentioned
View Answer

Answer: c
Explanation: Frameworks are implemented as a collection of concrete and abstract object classes in an object-oriented programming language.


8. “An ordering system may be adapted to cope with a centralized ordering process in one company and a distributed process in another.” Which category the example belong to?
a) Process specialization
b) Platform specialization
c) Environment specialization
d) Functional specialization
View Answer

Answer: a
Explanation: In process specialization, the system is adapted to cope with specific business processes.

9. What are generic application systems that may be designed to support a particular business type, activity, or sometimes a complete enterprise?
a) COTS-solution systems
b) COTS-integrated systems
c) ERP systems
d) Both COTS-solution and COTS-integrated systems
View Answer

Answer: a
Explanation: None


10. Which of the following is not an advantages of software reuse?
a) lower costs
b) faster software development
c) high effectiveness
d) lower risks
View Answer

Answer: c
Explanation: Effectiveness depends on how one reuses the existing product.

11. ERP stands for
a) Effective Reuse Planning
b) Enterprise Resource Planning
c) Effective Research Planning
d) None of the mentioned
View Answer

Answer: b
Explanation: Enterprise Resource Planning systems are examples of large-scale COTS reuse.

12. Which framework class include standards and classes that support component communication and information exchange?
a) System infrastructure frameworks
b) Middleware integration frameworks
c) Enterprise application frameworks
d) MVC
View Answer

Answer: b
Explanation: None.

Sanfoundry Global Education & Learning Series – Software Engineering.

Here’s the list of Best Books in Software Engineering.

here is complete set of 1000+ Multiple Choice Questions and Answers on Software Engineering.

To practice all areas of Software Engineering,

For a long time open source software held the earlier label of “free software.” The free software movement was formally established by Richard Stallman in 1983 through the GNU Project. The free software movement organized itself around the idea of user freedoms: freedom to see the source code, to modify it, to redistribute it—to make it available and to work for the user in whatever way the user needed it to work.

Free software exists as a counterpart to proprietary or “closed source” software. Closed source software is highly guarded. Only the owners of the source code have the legal right to access that code. Closed source code cannot be legally altered or copied, and the user pays only to use the software as it is intended—they cannot modify it for new uses nor share it with their communities.

The name “free software,” however, has caused a lot of confusion. Free software does not necessarily mean free to own, just free to use how you might want to use it. “Free as in freedom, not as in beer” the community has tried to explain. Christine Peterson, who coined the term “open source,” tried to address this problem by replacing ‘free software’ with ‘open source’: “The problem with the main earlier label, ‘free software,’ was not its political connotations, but that—to newcomers—its seeming focus on price is distracting. A term was needed that focuses on the key issue of source code and that does not immediately confuse those new to the concept.”

Peterson proposed the idea of replacing “free software” with the term “open source” to a working group that was dedicated, in part, to shepherding open source software practices into the broader marketplace. This group wanted the world to know that software was better when it was shared—when it was collaborative, open, and modifiable. That it could be put to new and better uses, was more flexible, cheaper, and could have better longevity without vendor lock-in.

Eric Raymond was one of the members of this working group, and in 1997 he published some of these same arguments in his wildly influential essay “The Cathedral and the Bazaar”. In 1998, partly in response to that essay, Netscape Communications Corporation open sourced their Mozilla project, releasing the source code as free software. In its open source form, that code later became the foundation for Mozilla Firefox and Thunderbird.

Netscape’s endorsement of open source software placed added pressure on the community to think about how to emphasize the practical business aspects of the free software movement. And so, the split between open source and free software was cemented: “open source” would serve as the term championing the methodological, production, and business aspects of free software. “Free software” would remain as a label for the conversations that emphasized the philosophical aspects of these same issues as they were anchored in the concept of user freedoms.

By early 1998 the Open Source Initiative (OSI) was founded, formalizing the term open source and establishing a common, industry-wide definition. Though the open source movement was still met with wariness and corporate suspicion from the late 1990s into the early 2000s, it has steadily moved from the margins of software production to become the industry standard that it is today.

Open Source and Patents: Share Your Cake and Eat It Too

Open Source and Patents: Share Your Cake and Eat It Too

The open-source movement has been around for decades and has provided freedom to users and programmers to use and develop existing software. Unlike industries involving physical products, the low barrier of entry to software development and distribution has meant that many users find themselves having the knowledge and resources to contribute to software development, but at times prevented from doing so due to existing intellectual property (IP) rights. This has led some to view IP rights, such as patents, as a hindrance to innovation.
However, this need not be the case, and there are very good reasons why, as an open source contributor, you should consider obtaining patent protection.

What is a “software patent”?

Patents are granted to offer monopoly rights for technological inventions in exchange for public disclosure of the invention. A granted patent allows the patentee to stop others from making, selling and using the invention, irrespective of whether copying was involved.

Software code (e.g. source code, object code, etc.) per se is not patentable. What “software patent” is taken to mean, broadly, is a patent for the underlying method implemented by the software, and the underlying method is subject to all the usual requirements of patentability, such as novelty and inventiveness. The patentability of computer software is further circumscribed, for example, by a requirement that the underlying method solves a real-world problem. Therefore, for example, a chess-playing algorithm might not be patentable, whereas a data encryption algorithm probably is.

The software code itself automatically gives rise to copyright for the author. Unlike patent infringement, however, copyright infringement requires copying.

Therefore, if someone writes a computer program independently from scratch, no copyright can be infringed, but there may be patent infringement if the program implements a method protected by a patent.

What exactly is offered under an open-source licence?

In principle, subject to any pre-existing agreements, the author has complete freedom to define the scope and terms under which their contribution is offered to the public. However, many opt instead to use one of many standard open-source licence texts for convenience and familiarity.

The coverage of the licence can vary significantly depending on the terms. In addition to clauses about copyright, some licences also include grant of a patent licence.

The scope of any included patent licence is likely to be limited. For example, an open-source licence may grant a patent licence only to the extent that the licensee may use and develop the software code offered under the licence. That is, the licence probably does not extend so far as to permit the licensee to independently develop and distribute computer software which is covered by the patent. Furthermore, the grant of the patent licence is usually conditional on the licensee’s adherence to the other terms of the open-source licence.

Why might an open-source contributor want a patent?

A patent may allow the author to stop others from exploiting their code without adhering to the terms of the open-source licence. For example, the licence may prohibit distributing an improved version of the code without making the source code available, or prohibit embedding the code in locked hardware.

A patent may allow the author to stop others from circumventing the open-source licence by independently developing new code which implements the same underlying method.

A patent gives the author flexibility to generate revenue from users who do not wish to be bound by the open-source licence, all the while without hindering open-source innovation. For example, a commercial user may prefer to license the software outside an open-source licence for fear of the open-source licence over-reaching to their own proprietary components.

A patent preserves the ability to commercialise future iterations of the software. Similarly, the author may develop different variants of the software and choose to offer only some of them to the public under an open-source licence.

In conclusion, a patent provides additional control over the software and the underlying innovation – it is entirely up to you, as the patentee, how this control is exercised. Using patents, it is possible to construct a strategy whereby open-source innovation is encouraged without irreversibly forgoing all future possibility of earning a fair reward or allowing others to unfairly benefit from your innovation. You can share your cake and eat it too.

Written by Jane