F.Y.B.Sc. Computer Science Semester - I (:75:25)

Solution Set - December 2018 (03/12/2018) Subject Code: 82103 QP Code:59232 Time : 2 ½ Hours Total Marks: 75

Q1 Attempt All(Each of 5 marks) (15) a) Multiple Choice Questions 1) GPL stands for ______i) Generle Public License ii) General Public License iii) Generic Public License iv) General Private License 2) Which of the following is not a phase of Life Cycle Paradigm / waterfall model? i) Analysis ii) Manufacturing iii) Design iv) Coding 3) ______is the founder of FSF i) ii) Denis Ritchie iii) Ken Thomson iv) All of these 4) ______is a form of licensing in which an author surrenders some but not all rights under law i) Copydown ii) License iii) iv) Patent 5) The term BSD stands for ______i) Binary ii) Berkley software distribution iii) Binary software development iv) Berkley software development

b) Fill in the blanks (Waterfall model, full, internationalization, Prototyping model, , localization, chrome, free hardware design, partial, open source software) 1) Waterfall model is a static, sequential and procedural approach in software engineering methodology. 2) full copyleft is when all parts of work can be modified by consecutive authors. 3) localization is the process of adapting software for a specific region or language by adding locale-specific components and translating text. 4) Firefox is a project descended from application suite. 5) free hardware design refers to design which can be freely copied, distributed, modified and manufactured.

c) Short Answers: 1) What is ? Ans: Free software or libre software is computer software distributed under terms that allow users to run the software for any purpose as well as to study, change, and distribute it and any adapted versions. Free software is a matter of liberty, not price: users —individually or in cooperation with computer — are free to do what they want with their copies of free software (including profiting from them) regardless of how much is paid to obtain the program. 2) Define Shared software. Ans: It is shared rather than owned. The way to develop and use software effectively is to share it with others. Sharing is symmetric. 3) Define GCC. Ans: The GNU Collection (GCC) is a compiler system produced by the GNU Project supporting various programming languages. GCC is a key component of the GNU toolchain. The (FSF) distributes GCC under the GNU General Public License (GNU GPL). 4) Draw symbol of copyright. Ans:

5) What isPublic domain software? Ans: software is software that has been donated to the public domain by its copyright holder. Thus it is no longer copyrighted. Consequently, such software is completely free and can be used by anybody for any purpose without restriction.

Q2. Attempt the following (Any THREE): (15) a) List and explain 4 freedoms of free software. Ans:  The freedom to run the program, for any purpose.  The freedom to study how the program works, and modify it  The freedom to redistribute copies.  The freedom to distribute copies of modified versions to others.

b) Define BSD. Explain its history.  BSD licenses are a family of permissive free software licenses, imposing minimal restrictions on the use and distribution of covered software. This is in contrast to copyleft licenses, which have share-alike requirements. The original BSD license was used for its namesake, the Berkeley Software Distribution (BSD), a -like . The original version has since been revised, and its descendants are referred to as modified BSD licenses.  BSD is both a license and a class of license (generally referred to as BSD-like). The modified BSD license (in wide use today) is very similar to the license originally used for the BSD version of Unix. The BSD license is a simple license that merely requires that all code be licensed under the BSD license if redistributed in format. BSD (unlike some other licenses) does not require that source code be distributed at all.

c) Write a note on following: i) LGPL license ii) Internationalization Ans: LGPL  An important corner-case of the GPL requires that only GPL code can link with with GPL libraries, even if the library is contained in a separate , and the code which uses it contains no GPL code unto itself.  This is seen by some as too strict, since such an action could be considered a "use" of the library, not as a modification.  In order to allow for such a distinction, the LGPL was created.  The LGPL fixes precisely this problem: If someone uses an LGPL work as a library which is symbolically linked with a project, the rest of the project does not have to be put under the LGPL.  On the other hand, if any modifications are made to the LGPL'ed work which is distributed along with the software package as a whole, the changes must be made public, similar to the rules of the GPL.  The "L" in the LGPL stands for different things for different people. Initially it was considered as a "Library" license, since the clause specifically dealt with issues of linking.  However, the GNU Foundation describes this as the "Lesser" GPL, since it gives fewer protections to the work than the GPL does.  While the GNU Foundation does not frown upon the use of the LGPL, it encourages the use of the GPL when possible.  LGPL makes a clear difference between the code that has been covered by this license (usually software library) and the external code that is just linked to the LGPL covered code.  The external code can stay proprietary. However modifications inside the LGPL covered library must be shared with public.  Companies usually find LGPL terms acceptable and it is common to find public libraries with this license inside the .

d) Explain the concept ‘Free does not no cost.’ Ans: While FOSS is free to the end user, there is a cost associated with developing the software. These costs may be smaller than developing , because developing the project under FOSS license means that:  Numerous web portals like SourceForge would offer web hosting, content repository, mailing lists and other essential features for free.  The cost of advertising a FOSS project (like presenting it in the related conferences) is usually lower.  Developing something under GPL may give free access to high quality components (like ) that are otherwise expensive to buy or not available at all.  Still, development of any software first requires the developer time. Only very popular projects may expect to get a high quality code contributions for free.  This is a common misunderstanding about FOSS, in no small part because nearly all FOSS programs are available free of charge. For example when the text editor Emacs was first released Richard Stallman charged from time to time to get copies.  Developers have the choice to charge under most FOSS licenses, although they rarely choose to. The only requirement to be a truly FOSS project is that the publisher provides the source code with the program, and to allow the user to edit that code.  On top of the initial cost of purchasing software, there are other ongoing costs associated with all software. This can come in the form of support agreements, the cost of customization, training costs support personnel and other sources. This is true of both traditional commercial software and FOSS programs. There is a large and active debate about which type of software is more expensive over the long run for large corporations, for individual users there is little to no question that FOSS is cheaper by far.

e) Discuss about Copyleft. Ans: Copyleft  Copyleft is a general method for making a program (or other work) free (in the sense of freedom, not “zero price”), and requiring all modified and extended versions of the program to be free as well.  Copyleft (a play on the word copyright) is the practice of offering people the right to freely distribute copies and modified versions of a work with the stipulation that the same rights be preserved in derivative works down the line.  Copyleft software licenses are considered protective or reciprocal, as contrasted with permissive free software licenses.  Copyleft is a form of licensing, and can be used to maintain copyright conditions for works ranging from computer software, to documents, to art, to scientific discoveries and instruments in medicine.  In general, copyright law is used by an author to prohibit recipients from reproducing, adapting, or distributing copies of their work.  In contrast, under copyleft, an author may give every person who receives a copy of the work permission to reproduce, adapt, or distribute it, with the accompanying requirement that any resulting copies or adaptations are also bound by the same licensing agreement.  Copyleft licenses for software require that information necessary for reproducing and modifying the work must be made available to recipients of the binaries. The source code files will usually contain a copy of the license terms and acknowledge the authors.  Copyleft type licenses are a novel use of existing copyright law to ensure a work remains freely available.

f) Differentiate between Open source software and Closed software. Ans: Open source Closed source Licensor distributed source code. Licensor distributes object code only, source code is kept a trade secret. Modification are permitted. Modification are prohibited. Licensee may do its own All upgrades, support and development and support or hire development are done by licensor. any third party to do it. Fees, if any, are for integration, Fees are for the software's license, packing, support, and consulting. maintenance and upgrades. Sublicensing is permitted; licensee Sublicensing is prohibited, or is a may have to distribute the source very limited right. code to program and modification. Examples: - , Github, Examples: - Windows, Python. Photoshop, Adobe Reader.

Q3. Attempt the following (Any THREE): (15) a) Write a note on . b) Describe Apache in regards with the following points: i) History ii) License iii) Applications Ans:  The Apache Software Foundation (ASF) is a non-profit corporation to support Apache software projects.  Apache's projects are characterized by a collaborative, consensus based development process, an open and pragmatic .  Among the ASF's objectives are to provide legal protection to volunteers working on Apache projects, and to protect the Apache brand name from being used by other organizations.  There are currently two forms of the Apache in wide use today: versions 1.1 and 2.0. While 2.0 is considered by ASF to be the current version and most users have happily switched, a few large groups objected to new clauses inserted into 2.0 regarding patents, and have refused to use any software with the new license (most notable the OpenBSD project).  Code under can be linked with the proprietary code that is developed in the companies.  Because of this the license is accepted inside the most of the companies. Companies time to time contribute to the code under Apache license to the activity of these projects.  For instance, IBM and have contributed big parts of the alternative implementation to the project.  c) Define debugging. Explain GDB. Debugging is the process of finding and resolving defects or problems within a computer program that prevent correct operation of computer software or a system.

GNU Debugger - GDB GDB, short for GNU Debugger, is the most popular debugger for UNIX systems to debug C and C++ programs.

What is GNU Debugger - GDB? A debugger is a program that runs other programs, allowing the user to exercise control over these programs, and to examine variables when problems arise.

GNU Debugger, which is also called gdb, is the most popular debugger for UNIX systems to debug C and C++ programs.

GNU Debugger helps you in getting information about the following:  If a core dump happened, then what statement or expression did the program crash on?  If an error occurs while executing a function, what line of the program contains the call to that function, and what are the parameters?  What are the values of program variables at a particular point during execution of the program?  What is the result of a particular expression in a program?

d) What is Github? How to interact with it? Explain. Ans: GitHub is a code hosting platform for version control and collaboration. It lets you and others work together on projects from anywhere. One can contribute to it by creating your own account, login into it and use the following steps:-  Create and use a repository  Start and manage a new branch  changes to a file and push them to GitHub as commits  Open and merge a pull request

e) Write a note on open source media. Ans: Pajamas Media, known as Open Source Media, is a startup company founded in 2004 by mystery writer, screenwriter and blogger Roger L. Simon, and Charles Johnson of Little Green Footballs “with the intention of… aggregating blogs to increase corporate advertising and creating our own professional news service. Rules for open source media: 1. Freely accessible: Available to stream, or download without a fee. Should be available via direct download and P2P media, so it is not behind a gateway. 2. Freely available: Permanently available without DRM, or release windows. The end user able to share the work without restriction. 3. Freely viewable: Available in multiple formats, and to be converted freely (in the case of video works, for examples, as dvd, xvid/ divx, mp4, and HD formats). 4. Giving source files: source media, such as rushes and raw graphics files should be archived and available for other creators to work with. 5. Allowing remixing: Materials should be licensed explicitly to allow derivative work (e.g., other works based on the script, or video mishaps, and remix edits) for at least non-commercial/artistic purposes. Creative commons and other licences are available for flexible copyrighting. Open plus more opportunities for participation and involvement in the work whether as creator, or as part of what used to be called ‘the audience’. 6. Reveal the process: Allowing access to not only the final source media, but work- in-progress material and software files, adding another layer of transparency and documentation. 7. Open contribution: Adding ways to influence and participate in the creation of the original work through various types of community / audience involvement (opportunities such as open crewing, direct feedback or contribution mechanisms).

f) Explain Open source teaching. Ans:  Open source Teaching (OST) is a platform that utilizes emerging technologies to facilitate shared learning and the development of communities. OST redefines the relationship between learners by eliminating the barriers of the time and distance. OST provides learners with simultaneously real-time and time-independent access to the ideas of people with varying degrees of experience, expertise, points of view, knowledge, and skills.  Open sources teaching provides new strategies and opportunities for individuals to engage in the shared investigation of common challenges. These methods are applied using emerging communication platforms and generally include components of the following :  Shared communication using an open source web space, available to all users, including the direct archiving and tracking of individual comments by all users.  An open sources induction and users agreement outlining the fundamental truths for communication within each shared web space.  Archived record of communication and dialogue, providing a common basis for learning and discussion among all users, including the direct tracking of files, which are accessed.  The investigation of relevant research, current events, challenges, and case studies related to the academic, professional, on social challenge. A final shared work product that requires shared collaboration among teams of participants and the collective community for the assigned web space.

Q4. Attempt the following (Any THREE): (15) a) Discuss Android operating system. Ans:  Android is a developed by Google, based on the kernel and designed primarily for touch screen mobile devices such as smartphones and tablets.  Android's is mainly based on direct manipulation, using touch gestures that loosely correspond to real-world actions, such as swiping, tapping and pinching, to manipulate on-screen objects, along with a virtual keyboard for text input.  In addition to touchscreen devices, Google has further developed Android TV for televisions, Android Auto for cars and Android Wear for wrist watches, each with a specialized user interface.  Variants of Android are also used on game consoles, digital cameras, PCs and other electronics.  Initially developed by Android Inc., which Google bought in 2005, Android was unveiled in 2007, along with the founding of the – a consortium of hardware, software, and telecommunication companies devoted to advancing open standards for mobile devices.  Beginning with the first commercial Android device in September 2008, the operating system has gone through multiple major releases, with the current version being 8.0 "Oreo", released in August 2017.  Android applications ("apps") can be downloaded from the Google Play store, which features over 2.7 million apps as of February 2017.  Android has been the best-selling OS on tablets since 2013, and runs on the vast majority[a] of smartphones.  Android's source code is released by Google under an open source license, although most Android devices ultimately ship with a combination of free and open source and proprietary software, including proprietary software required for accessing Google services.  Android is popular with technology companies that require a ready-made, low- cost and customizable operating system for high-tech devices.  Its open nature has encouraged a large community of developers and enthusiasts to use the open-source code as a foundation for community-driven projects, which deliver updates to older devices, add new features for advanced users or bring Android to devices originally shipped with other operating systems.  The extensive variation of hardware in Android devices causes significant delays for software upgrades, with new versions of the operating system and security patches typically taking months before reaching consumers, or sometimes not at all.  The success of Android has made it a target for patent and copyright litigation between technology companies.

b) Define virtualization. Explain its types. Ans: Virtualization is a term used when creating a virtual environment for any program to run on an existing platform as a guest, without interfering or interrupting with the host platform’s services or programs. The virtual environment running might be an Operating System, Storage device, Network or an Application server among other things.

Types of Virtualization 1. Operating System Virtualization Operating System Virtualization is a type of Virtualization concept that most users today are familiar with. It typically allows you to run and install any kind of Operating system like Windows, or a Linux on your existing operating system. It requires a Virtual Machine Manager (VMM) which allows you to install and manage multiple operating systems running simultaneously even (If your machine has sufficient resources). The operating systems run virtually of course without any knowledge that it is installed on an existing platform or that there is another virtual operating system running alongside (If you choose to install multiple operating systems on your VMM). VMware is probably the one of the most widely used Virtual Machine Manager’s. In the IT industry, this serves as a huge benefit. It allows them to run their server on the virtual environment, which results in saving the costs of an extra machine, hardware components, space, location fees, power management, etc. 2. Network Virtualization Chances are that many enterprises; although having deployed and used this form of virtualization are unaware that they are indeed using it. The only difference is, they don’t refer to it as virtualization that is all. It may not be used at end user level but the even small enterprises deploy it. In its very form, a VLAN created even on a small network can be termed as Network Virtualization. In Network Virtualization, Two (or more) virtual networks can be created within the same physical network belonging to the same IP range and yet they do not have the authorization to communicate with each other. They operate in their own logical network, with each logical network having a different set of processes and functions to perform. They are segregated within the same physical network. 3. Hardware Virtualization An individual independent segment of hardware may consist of smaller pieces of hardware from multiple locations but are treated as a single independent device. The process requesting the hardware is totally unaware and usually only alerts in case if the hardware requirements for the process isn’t met. In other instance, if any process is pre-allocated say about 30 percent of CPU resources, 30 percent of CPU will be set aside and allocated to only that process. The process isn’t allowed more than 30 percent of CPU resources, and if it comes to that, the processes are queued up and run on FIFO (First In First Out) basis. 4. Storage Virtualization Storage Virtualization is of mainly 2 types, Block and File. In Block Virtualization, multiple storage devices are consolidated, which then actually appears as a single physical storage device. This helps the administrators in many ways such as Load Balancing, optimizing performance and speed. Technically, they actually RAID (Redundant Array of Independent Disks) these devices and configure it depending on the type of RAID system they need. In fact, even something as simple as Partitioning you own hard drive into more than one partitions can be considered as an example. File Virtualization, as the name suggests, is the file or directory stored on the hard drive, which is located in a data center. The file may not be stored within your personal folder; in fact, the folder might not even have your own name, it may be located in a data center across the globe. Apart from these, virtualization can also be defined in other ways such as virtualization for Application, Application Server, Service virtualization, Infrastructure, Management and maybe more. The new standards and types have recently come to light as per the requirements of the IT industry. Some companies known to provide Virtualization services are Microsoft, IBM, HP, VMware, Citrix and the list goes on.

c) Write a note on LAMP. Ans: LAMP is an open source platform that uses Linux as the operating system, Apache as the , and MySQL as the relational management system and PHP as the object-oriented . (Sometimes or Python is used instead of PHP.) Because the platform has four layers, LAMP is sometimes referred to as a LAMP stack. Stacks can be built on different operating systems. Developers that use these tools with a Windows operating system instead of Linux are said to be using WAMP; with a Macintosh system, MAMP; and with a Solaris system, SAMP. Originally popularized from the phrase "Linux, Apache, MySQL, and PHP", the acronym "LAMP" now refers to a generic software stack model. The modularity of a LAMP stack may vary, but this particular software combination has become popular because it is entirely free and open-source software. This means that each component can be interchanged and adapted without overt vendor lock-in, and that the complete software stack is available free of cost. The components of the LAMP stack are present in the software repositories of most Linux distributions, providing a LAMP stack with some automation. The LAMP bundle can be combined with many other free and open-source software packages, such as the following:  Netsniff-ng for security testing and hardening.  Snort, an intrusion detection (IDS) and intrusion prevention (IPS) system  RRDtool for diagrams  , or , for monitoring. As another example, the software which Wikipedia and other Wikimedia projects use for their underlying infrastructure is a customized LAMP stack with additions such as (LVS) for load balancing and and Swift for distributed object storages.

d) Explain OpenSolaris operating system.  OpenSolaris – an open source operating system based on Solaris created by .  OpenSolaris is a descendant of the UNIX System V Release 4 (SVR4) code base developed by Sun and AT&T in the late 1980s.  It was based on Solaris, which was originally released by Sun in 1991.  OpenSolaris uses a network-based package management system “” (pkg(5)), which could add, remove, and manage installed software and to update to newer releases.  It includes a set of free applications, including popular (GNOME 2) and server software.  In 2010, after the acquisition of Sun Microsystems, Oracle stopped open development of the system, and replaced the OpenSolaris with the proprietary Solaris Express.  On September 13, 2010 Steven Stallion announcement at his blog, that the development of OpenSolaris is finished.  A group of former OpenSolaris developers forked the core software under the new name OpenIndiana, which is a part of the Foundation.  There are a few forks based on OpenSolaris, such as: BeleniX, EON ZFS Storage, Illumos, Jaris OS, MartUX, MilaX, Nexenta OS, NexentaStor, OpenIndiana, OpenSXCE, SchilliX, SmartOS, StormOS.  Web site: www..org (not active) Origin: USA Category: Desktop : GNOME Architecture: , x86_64, ARM, PowerPC, SPARC Based on: Solaris Wikipedia: OpenSolaris Media: Live CD The last version | Released: 2009.06 | June 1, 2009

e) Define terms: IDE, Development Tools, Programming languages. Give example. Ans: i. Development Tools  In OSS development, tools are used to support the development of the product and the development process itself.  Revision control systems such as Concurrent Versions System (CVS) and later Subversion (SVN) and Git are examples of tools, often themselves open source, help manage the source code files and the changes to those files for a software project.  The projects are frequently hosted and published on sites like Launchpad, Bitbucket, and GitHub.

ii. IDEs  An integrated development environment (IDE) is a software application that provides comprehensive facilities to computer programmers for software development.  An IDE normally consists of a source code editor, build automation tools and a debugger. Most modern IDEs have intelligent code completion. Some IDEs, such as NetBeans and , contain a compiler, , or both; others, such as SharpDevelop and Lazarus, do not.  The boundary between an integrated development environment and other parts of the broader software development environment is not well-defined.  Sometimes a version control system, or various tools to simplify the construction of a (GUI), are integrated.  Many modern IDEs also have a class browser, an object browser, and a class hierarchy diagram, for use in object-oriented software development. iii. Programming languages: A is a vocabulary and set of grammatical rules for instructing a computer or computing device to perform specific tasks. The term programming language usually refers to high-level languages, such as BASIC, C, C++, COBOL, Java, FORTRAN, Ada, and Pascal.

f) Write any 5 features of Linux operating system. Ans: Following are some of the important features of Linux Operating System.  Portable − Portability means software can works on different types of hardware in same way. and application programs supports their installation on any kind of hardware platform.  Open Source − Linux source code is freely available and it is community based development project. Multiple teams work in collaboration to enhance the capability of Linux operating system and it is continuously evolving.  Multi-User − Linux is a multiuser system means multiple users can access system resources like memory/ ram/ application programs at same time.  Multiprogramming − Linux is a multiprogramming system means multiple applications can run at same time.  Hierarchical File System − Linux provides a standard file structure in which system files/ user files are arranged.  Shell − Linux provides a special interpreter program which can be used to execute commands of the operating system. It can be used to do various types of operations, call application programs. etc.  Security − Linux provides user security using authentication features like password protection/ controlled access to specific files/ encryption of data.

Q5. Attempt the following (Any THREE): (15) a) Discuss Life cycle paradigm (waterfall model) as a software engineering methodology. The waterfall model is a relatively linear sequential design approach for certain areas of engineering design. In software development, it tends to be among the less iterative and flexible approaches, as progress flows in largely one direction ("downwards" like a waterfall) through the phases of conception, initiation, analysis, design, construction, testing, deployment and maintenance.

The waterfall development model originated in the manufacturing and construction industries; where the highly structured physical environments meant that design changes became prohibitively expensive much sooner in the development process. When first adopted for software development, there were no recognized alternatives for knowledge-based creative work.

The following phases are followed in order: System and software requirements: captured in a product requirements document Analysis: resulting in models, schema, and business rules Design: resulting in the software architecture Coding: the development, proving, and integration of software Testing: the systematic discovery and debugging of defects Operations: the installation, migration, support, and maintenance of complete systems Thus the waterfall model maintains that one should move to a phase only when it’s preceding phase is reviewed and verified.

b) Differentiate between commercial design and free design practice. Ans: Commercial design practice  Designs are owned by the company which creates them.  Ownership is protected by 3 sets of laws: copyright, trade secret, and patent.  It is often not even possible to see a design without signing a non-disclosure agreement.  Designers cannot legally cannot build on older designs unless their company owns the right to use these designs.  Designs are driven by marketing departments.  Users of the final product have no rights to know how they work. Free Design Practice  Designs are owned by the people which creates them.  Ownership is protected by copyright law only.  There is every incentive to build on older designs, to collaborate with as wide a spread of people as possible, and to make the designs widely known.  Design software is free software, so that anyone who wishes to can participate.  Designs are driven by the wishes of their creators. The end goal can be whatever they wish.  Users of the end product cannot only know how it works, but are encouraged to create improvements or modify it for their own purposes.

c) List and explain any two open source database technologies. Ans: 1. MongoDB was founded in 2007 and is known as the “database for giant ideas.” Developed by the people behind DoubleClick, ShopWiki, and Gilt Groupe, MongoDB is also backed by popular investors such as Fidelity Investments, The Goldman Sachs Group, Inc., and Intel Capital. Since its inception, MongoDB has been downloaded 15 million times and is supported by more than 1,000 partners. These partners are dedicated to this free and open source solution’s belief that coding and should be simple and natural. Pros: - Document validation, Encrypted storage engine, Common use cases: Mobile apps, Product catalogs, Content management, Real- time apps with in-memory storage engine (beta), Reduces time between primary failure and recovery Cons: - Doesn’t fit applications needing complex transactions, Not a drop-in replacement for legacy applications, Young solution: software changes and evolves quickly 2. MySQL has been around since 1995 and is now owned by Oracle. While open source, there are also several paid editions available that offer additional features, like cluster geo-replication and automatic scaling. Because MySQL is an industry standard, it’s also compatible with just about every operating system and written in both C and C++. This solution is a great option for international users since the server can provide error messages to clients in multiple languages, encompassing support for several different character sets. Pros: -Host-based verification, Can be used even when no network is available, Flexible privilege and password system, Security encryption of all password traffic, Library that can be embedded into standalone applications, Provides server as separate program for client/server networked environment Cons: -Acquired by Oracle: Users feel MySQL no longer falls under free and OS, No longer community driven, Members can’t fix bugs and craft patches, fall behind others due to slow updates. 3. SQLite Self-proclaimed as the most widely deployed database in the world, SQLite began in 2000 and has been used by notable companies like Apple, Facebook, Microsoft, and Google. Each release is carefully tested to ensure reliability. Even if there are bugs, the developers of SQLite are honest about potential shortcomings by providing bug lists and chronologies of code changes for every release. Pros: -No separate server process, is cross-platform, Compact library: runs faster even with more memory, Transactions are ACID compliant, Professional support also available Cons: -Not recommended for: Client/Server applications, High-volume , large datasets, and High concurrency.

d) Explain Shared Source in regards with following points: i) Definition ii) Any 2 shared source licenses iii) Any 2 shared source programs Ans: Shared Source It is an umbrella term covering some of Microsoft's legal mechanisms for software source code distribution. Microsoft's , launched in May 2001, includes a spectrum of technologies and licenses. Most of its source code offerings are available for download after eligibility criteria are met. The licenses associated with the offerings range from being closed-source, allowing only viewing of the code for reference, to allowing it to be modified and redistributed for both commercial and non-commercial purposes. Shared Source License: i) Microsoft Public License ii) Microsoft Reciprocal License iii) Microsoft Reference Source License iv) Microsoft Limited Public License v) Microsoft Limited Reciprocal License Shared Source Programs: i) Microsoft Enterprise Source Licensing Program ii) Academic Program iii) Microsoft Shared Source Common Language Infrastructure iv) Windows Installer XML v) ASP.Net AJAX Control Toolkit

e) Discuss Openoffice.org case study in regards with following points: i) introduction ii) features iii) any three components Ans: Discuss the following about Openoffice.org case study:- i. Introduction  OpenOffice.org (OOo), commonly known as OpenOffice, is a discontinued open-source office suite. It was an open-sourced version of the earlier StarOffice, which Sun Microsystems acquired in 1999, for internal use. Sun open-sourced the software in July 2000 as a competitor to , releasing version 1.0 on 1 May 2002.  In 2011 , the then-owner of Sun, announced that it would no longer offer a commercial version of the suite and soon after donated the project to the Apache Foundation. Apache renamed the software Apache OpenOffice. Other active successor projects include LibreOffice (the most actively developed and NeoOffice (commercial, only for macOS).  OpenOffice.org's default file format was the OpenDocument Format (ODF), an ISO/IEC standard, which originated with OpenOffice.org. It could also read a wide variety of other file formats, with particular attention to those from Microsoft Office.  OpenOffice.org included a (Writer), a (Calc), a presentation application (Impress), a drawing application (Draw), a formula editor (Math), and a database management application (Base).  OpenOffice.org was primarily developed for Linux, Microsoft Windows and Solaris, and later for OS X, with ports to other operating systems. It was distributed under the GNU Lesser General Public License version 3 (LGPL); early versions were also available under the Sun Industry Standards Source License (SISSL). ii. Features OpenOffice.org 1.0 was launched under the following mission statement: The mission of OpenOffice.org is to create, as a community, the leading international office suite that will run on all major platforms and provide access to all functionality and data through open-component based APIs and an XML-based file format. iii. Any three components Icon Title Description

Writer A word processor analogous to or WordPerfect.

Calc A spreadsheet analogous to or Lotus 1-2-3.

A analogous to Microsoft PowerPoint or Apple Keynote. Impress could export presentations to Impress (SWF) files, allowing them to be played on any computer with a

Flash player installed. Presentation templates were available on the OpenOffice.org .[77][78] A comparable in features to the drawing Draw functions in Microsoft Office.

A tool for creating and editing mathematical formulas, analogous Math to Microsoft Equation Editor. Formulas could be embedded inside

other OpenOffice.org documents, such as those created by Writer. A database management program analogous to . Base could function as a front-end to a number of different database systems, including Access databases (JET), ODBC data Base sources, MySQL and PostgreSQL. Base became part of the suite

starting with version 2.0. HSQL was the included database engine. From version 2.3, Base offered report generation via Pentaho.

**********