Custom-Written, AI-Free & Plagiarism-Free Academic Work by Assignment Experts

Assignment Experts UK is a trading name of AKOSZ TEC LTD (Company No. 11483120). View on Companies House

Open Source Licensing, Software Evaluation, and Cloud Architecture Analysis

Coursework Brief

Setting for Tasks 1–4:

We will consider five fictional projects: AlphaImg, BoomPics, ColourizeIt, KittyDraw, and PhotoPro.

AlphaImg, BoomPics, and ColourizeIt are open-source image manipulation libraries, useful for software that creates and processes images:

  • AlphaImg, currently in version 2.5.1, uses the GPL licence.

  • BoomPics, version 3.0, uses the LGPL licence.

  • ColourizeIt, version 0.3.12, uses the ISC licence.

KittyDraw and PhotoPro are applications for editing pictures:

  • KittyDraw is a hobby project, a simple drawing program for the children of the author of KittyDraw. It can be downloaded freely by anyone on the Web.

  • PhotoPro is commercial software, developed by the fictional company Prosoft. It is available online, with a free version that has limited features, and a paid version with all the features.

Both KittyDraw and PhotoPro need to use one of the above image manipulation libraries.

Task 1: Choose which library (or libraries) would be suitable for KittyDraw, and which would be suitable for PhotoPro, based solely on the libraries` licences. Explain your reasoning. [10 marks]

Task 2: When choosing a library to support your program, important considerations include how well maintained and how stable the libraries are (i.e. not crashing in normal use, not under rapid development).

Identify and justify five commonly accessible types of information about open-source libraries that you would use to judge their stability and maintenance. Explain how this information will help you and your library.

Illustrate each type of information with two examples from different real online open-source projects. Include links. [20 marks]

Task 3: Prosoft realize that KittyDraw has exposed a lucrative market segment and wish to purchase the rights to the project and hire the author to keep working on it. They would like to make it a commercial product, maintain its existing features, add new features such as cloud storage, and grow its customer base. Prosoft will need to acquire the rights, make KittyDraw profitable, and transition from a single author to a developer team.

Identify and discuss three issues that Prosoft must consider when doing this. [10 marks]

Task 4: KittyDraw has become a successful product with a free ad-supported version that has limited features, and a paid version with all the features. It has 10,000 paid installations, and a million (1,000,000) active users around the world. On average, every user saves 3 pictures every week, which are stored as high-resolution images (~100KB per image).

Evaluate (and write about) the suitability of each of the following cloud storage options for this product`s pictures:

  • local files on cloud VMs,

  • a single regional storage bucket,

  • multiple regional storage buckets in several regions,

  • a single multi-region storage bucket,

  • a cloud database.

Document any assumptions you need to make for your evaluation. Based on your evaluation, pick the two most suitable options, and state what you`d need to find out about the product and its user base to allow you to choose between them. [15 marks]

Setting for Tasks 5–7: An energy provider FunGasAndElectric (FG&E), which already has smart energy meters installed for every client, decides to start producing a smart thermostat, to be deployed in 1 million households. These smart thermostats will report hourly average, minimum, and maximum temperatures to a cloud-based API that stores the data in a cloud database. The thermostats will enable remote temperature monitoring and setting from the customers` smartphones.

For analysis, FG&E will want to store:

  • hourly data (minimum, average, maximum temperature) for the last 7 days,

  • 4-hourly data for the last month,

  • and day+night data for the past year.

Task 5: Estimate the communication requirements: how many MB of network traffic flow in every day, and how many MB flow out of the service every day because the new thermostats and their control app are available? Document the assumptions you need to make. [5 marks]

Task 6: Discuss the cloud processing and data storage options you would choose to deploy an implementation of the API to which the thermostats would submit their data. Document any assumptions you need to make. [10 marks]

Task 7: Estimate the monthly price of all the necessary cloud infrastructure (processing, data storage and communication) described in the questions 5 and 6, when 1 million thermostats are deployed. Additionally, calculate the monthly price per customer. Include your calculations and links to online sources of prices. Assume that all free-tier operations are used up so these are no longer an option. The customer-side costs (the thermostats and their connection to the internet) are excluded. [10 marks]

100% Plagiarism Free & Custom Written,
tailored to your instructions

Sample Answer

Open Source Licensing, Software Evaluation, and Cloud Architecture Analysis

Introduction

This coursework analyses a set of fictional software projects and a real world inspired cloud deployment scenario. The first part focuses on open source licensing choices, software sustainability, and commercialisation challenges. The second part evaluates cloud storage, processing, and cost considerations for a large scale Internet of Things deployment. Throughout, the analysis balances legal, technical, and business perspectives, using realistic assumptions and industry standard practices.

Task 1: Suitable Libraries for KittyDraw and PhotoPro

KittyDraw is a freely downloadable hobby project with no commercial intent. Because of this, it can safely use any of the listed libraries from a licensing perspective.

AlphaImg uses the GPL licence, which requires that any software incorporating it must also be released under the GPL when distributed. This is compatible with KittyDraw because the project is already free and non commercial. BoomPics uses the LGPL licence, which allows linking to proprietary or open source software without forcing the main application to adopt the same licence. ColourizeIt uses the ISC licence, which is highly permissive and places minimal restrictions on reuse.

Therefore, KittyDraw could use AlphaImg, BoomPics, or ColourizeIt without legal issues.

PhotoPro is commercial software with a paid version. Using AlphaImg would require PhotoPro to release its source code under the GPL, which is incompatible with a proprietary business model. BoomPics is suitable because the LGPL allows commercial use as long as modifications to the library itself are shared. ColourizeIt is also suitable due to its permissive ISC licence.

In summary, KittyDraw can use all three libraries, while PhotoPro should use BoomPics or ColourizeIt, but not AlphaImg.

Task 2: Assessing Stability and Maintenance of Open Source Libraries

When choosing an open source library, assessing stability and maintenance is essential to reduce technical risk.

One key source of information is release history and versioning. A library with regular releases and stable version increments suggests active maintenance. For example, the Linux kernel shows frequent, structured releases, while the Django framework maintains predictable long term support versions.

Another important indicator is issue tracker activity. An active issue tracker with timely responses indicates a healthy project. For instance, Mozilla Firefox resolves reported issues consistently, while the Kubernetes project maintains transparent bug tracking with clear priorities.

Commit history and contributor activity also provide insight. A project with frequent commits from multiple contributors is less dependent on a single individual. Git itself has a large and active contributor base, while the PostgreSQL project shows steady development from a distributed team.

Documentation quality is another strong signal. Well maintained documentation suggests long term usability and care for users. Python’s official documentation is a good example, as is the extensive documentation provided by the Apache HTTP Server project.

Finally, community support and adoption matters. Projects with active forums, mailing lists, or Stack Overflow presence are more reliable. Node.js benefits from a massive global community, while OpenSSL demonstrates strong institutional and industry backing.

Using these indicators together helps developers judge whether a library is stable, safe to depend on, and likely to be supported in the future.

Task 3: Commercialising KittyDraw

If Prosoft acquires KittyDraw, several challenges must be addressed.

The first issue is intellectual property ownership. Prosoft must ensure that the original author fully transfers the rights to the code and confirms that no third party code has incompatible licences.

The second issue is monetisation without alienation. KittyDraw’s existing users expect free access. Introducing paid tiers, ads, or subscriptions must be done carefully to retain goodwill while generating revenue.

The third issue is scaling development. Transitioning from a single developer to a team requires code refactoring, documentation, version control processes, and quality assurance practices. Without this, productivity and software quality may suffer.

Task 4: Cloud Storage Options for KittyDraw

Assumptions:

Each image is 100 KB.
Each user saves 3 images per week.
1 million active users.

Weekly storage growth:

1,000,000 × 3 × 100 KB = 300 GB per week.

Local files on cloud VMs are simple but scale poorly. They introduce backup, redundancy, and availability risks and are unsuitable at this scale.

A single regional storage bucket is easy to manage and cost effective but introduces latency for global users and a single point of regional failure.

Multiple regional buckets improve performance and resilience but increase complexity, data synchronisation challenges, and operational overhead.

A single multi region storage bucket provides high availability, automatic replication, and global performance, making it highly suitable for a global user base.

A cloud database is not ideal for storing image files due to cost and performance inefficiencies. Databases are better suited to metadata rather than binary objects.

The two most suitable options are multiple regional buckets and a single multi region bucket. Choosing between them would require understanding user geographic distribution, latency sensitivity, and cost constraints.

Yes, as long as they are realistic and clearly stated.

No. They care more about logic, structure, and justification.

Absolutely. Marks come from reasoning, not picking one answer.

Yes. That balance usually scores higher.

Olivia

Clear, logical, and way better than what I could’ve written alone. Got a first.

United Kingdom

★★★★★
Hailey

Loved how the cloud stuff was explained without being confusing.

United Kingdom

★★★★★
Steve

Tutor said my assumptions were well justified. Big relief.

United Kingdom

★★★★★
Jack

Didn’t sound robotic at all. Feedback mentioned “professional quality work".

United Kingdom

★★★★★