BIT358 Society and Ethics in IT

Society and Ethics in ITUnit 610 min read

Software Issues: Licensing, Piracy, Open Source, and Quality

Unit 6 of Society and Ethics in IT explores the ethical, legal, and technical challenges in software development, including licensing models (proprietary vs. open-source), software piracy, quality assurance, and the role of software in societal trust and sustainability.

Key Concepts and Structure of Software Issues

Software is the backbone of modern computing, but its development, distribution, and use raise critical ethical and legal questions. This unit covers:

  1. Software Licensing Models: How software is legally distributed (proprietary vs. open-source).
  2. Software Piracy: Ethical and legal consequences of unauthorized software use.
  3. Software Quality and Reliability: Ensuring software meets standards and user expectations.
  4. Software Sustainability: Long-term maintenance, updates, and ethical considerations in software lifecycle.

1. Software Licensing Models

Software licensing determines how software can be used, modified, and distributed. Two primary models dominate the industry:

1.1 Proprietary (Closed-Source) Software

  • Definition: Software owned by a company or individual, with restricted access to source code.
  • Examples: Microsoft Windows, Adobe Photoshop, Oracle Database.
  • Licensing Terms:
    • Users must purchase a license to use the software.
    • Modification, redistribution, or reverse-engineering is often prohibited.
    • Updates and support are controlled by the vendor.
1980sRise ofproprietary software (1990sLicensing modelsformalized (e.g., EULA2000sOpen-sourcemovement gains tractio2020sHybrid models(e.g., SaaS, freemium)
Evolution of Proprietary Software Licensing Models

How It Works

  • Restricted Access: Only the developer can modify the source code.
  • Revenue Model: Companies earn money through sales, subscriptions, or maintenance fees.
  • User Dependence: Users rely on the vendor for updates and security patches.

Advantages and Disadvantages

Advantages Disadvantages
Strong vendor support and updates High cost for users
Proprietary algorithms (e.g., AI models) Limited customization
Legal protection against unauthorized use Lock-in effect (hard to switch vendors)

1.2 Open-Source Software (OSS)

  • Definition: Software whose source code is publicly available, allowing users to modify, distribute, and improve it.
  • Examples: Linux, Mozilla Firefox, WordPress, Python.
  • Licensing Models:
    • GPL (GNU General Public License): Requires derivative works to also be open-source.
    • MIT License: Permissive, allows proprietary use of modified versions.
    • Apache License: Open-source with patent protection.

How It Works

  • Community-Driven: Developers worldwide contribute to improvements.
  • Transparency: Users can audit the code for security or bugs.
  • Cost-Effective: Often free to use, modify, and distribute.

Advantages and Disadvantages

Advantages Disadvantages
Free to use and modify No guaranteed vendor support
Rapid innovation through community Potential legal risks (e.g., GPL compliance)
Customizable for specific needs Security risks if not properly maintained

Software piracy involves using, copying, or distributing software without proper authorization. It is a major ethical and legal concern in the IT industry.

2.1 Types of Software Piracy

Copying software onto a hard drive without purchasing a liceHard Disk PiracySelling fake software (e.g., pirated Windows CDs)CounterfeitingDownloading cracked software from unauthorized sitesInternet PiracyUsing software without a license (e.g., sharing a single licEnd-User PiracySoftware Piracy
Types of Software Piracy (Hierarchical Classification)

2.2 Ethical Concerns

  • Unfair to Developers: Piracy reduces revenue, discouraging innovation.
  • Security Risks: Cracked software often contains malware.
  • Legal Consequences: Fines, lawsuits, or criminal charges (e.g., under Nepal’s Copyright Act, 2002).

2.3 Real-World Example: Piracy in Nepal

  • Problem: High piracy rates for software like Microsoft Office, Adobe Suite, and Windows.
  • Impact:
    • Economic Loss: Local IT companies lose revenue.
    • Security Threats: Users risk malware from cracked versions.
    • Legal Crackdowns: NTA (Nepal Telecommunications Authority) and software companies occasionally raid pirated software vendors.
018365472201572201865202158
Estimated Software Piracy Rates in Nepal (2015–2021, BSA Global Report)

Worked Example: Cost of Piracy

  • Suppose a student buys a $10 pirated copy of Adobe Photoshop instead of the $20 licensed version.
  • Ethical Cost: The developer loses $10, which could have funded new features or security updates.
  • Security Risk: The pirated version may contain a keylogger (malware that records keystrokes), exposing the student’s passwords.

3. Software Quality and Reliability

Software quality ensures that a product meets user needs, is free of defects, and performs reliably.

3.1 Key Quality Attributes

FunctionalityFault ToleranceRecoverabilityMaturityReliabilityUsabilityEfficiencyMaintainabilityPortabilitySoftware Quality Attributes
Hierarchy of Software Quality Attributes (ISO/IEC 25010 Standard)

3.2 Software Quality Assurance (SQA) Processes

  1. Requirements Analysis: Ensuring software meets user needs.
  2. Design Reviews: Checking for logical errors in architecture.
  3. Testing (Unit, Integration, System, Acceptance): Identifying and fixing bugs.
  4. Maintenance: Patching vulnerabilities and improving performance.

3.3 Real-World Example: Software Failures

  • Case 1: Facebook Outage (2021)

    • Issue: A misconfigured traffic routing command caused a 6-hour outage for 3.5 billion users.
    • Cause: Lack of proper automated rollback mechanisms in deployment.
    • Lesson: Importance of reliability testing in cloud services.
  • Case 2: Nepal’s eSewa Glitch (2022)

    • Issue: During Dashain, eSewa’s payment system crashed due to high traffic.
    • Cause: Insufficient load testing for peak usage.
    • Impact: Users couldn’t send money, affecting businesses.

Worked Example: Calculating Software Reliability

  • Suppose a banking app has a failure rate of 0.001 failures per hour.
  • If the bank operates 24/7, the expected failures per year = failures.
  • Solution: Implement redundancy (backup servers) to minimize downtime.

4. Software Sustainability

Sustainable software ensures long-term viability, security, and ethical development.

4.1 Challenges in Software Sustainability

  • Abandoned Projects: Many open-source projects lack long-term maintenance.
  • Vendor Lock-in: Proprietary software may become obsolete if the company stops supporting it.
  • Environmental Impact: Data centers consume massive energy (e.g., Bitcoin mining vs. cloud servers).

4.2 Ethical Considerations

  • Open-Source Sustainability: Projects like Linux rely on community funding (e.g., Linux Foundation).
  • Green Computing: Companies like Google use renewable energy for data centers.
  • Digital Divide: Ensuring software is accessible to low-income users (e.g., Khalti’s free basic services).

Real-World Example: Nepal’s NTC and Software Sustainability

  • Problem: Many government software systems (e.g., online visa processing) are outdated and prone to crashes.
  • Solution: NTC is pushing for open-source adoption (e.g., using Django for web portals) to reduce costs and improve transparency.

In the Real World

  1. Khalti (Nepal)

    • Idea Used: Open-Source Contributions
    • How: Khalti’s backend uses open-source tools like Kafka (for real-time payments) and PostgreSQL (database), reducing costs and allowing community-driven improvements.
  2. Pathao (Nepal/Ride-Hailing App)

    • Idea Used: Software Licensing and Piracy Risks
    • How: Pathao’s app is proprietary, but drivers often use cracked versions from third-party stores, risking data theft (e.g., GPS tracking hijacked for fraud).
  3. Nepal Stock Exchange (NEPSE)

    • Idea Used: Software Reliability and Security
    • How: NEPSE’s trading platform must handle high-frequency transactions without crashes. A 2019 outage (due to server failure) caused $10M in losses, highlighting the need for redundant systems.

Exam Tip

This unit is highly conceptual but often tested with scenario-based questions. Expect:

  1. Case Studies: E.g., "A company uses pirated software. Discuss the ethical and legal consequences."
  2. Comparison Questions: "Compare proprietary and open-source licensing models with examples."
  3. Short-Answer Definitions: "Define software piracy and give one Nepalese example."
  4. Ethical Dilemmas: "Should a student use pirated software for college projects? Justify your answer."

Key Focus Areas for Exam:

  • Licensing Models: Know GPL vs. MIT vs. proprietary differences.
  • Piracy Examples: Be ready to discuss Nepal-specific cases (e.g., Adobe, Windows).
  • Quality Assurance: Understand testing pyramids and reliability metrics.
  • Sustainability: Link to real-world apps (e.g., Khalti, Pathao).

Final Note: Always relate theory to Nepal’s context—examiners love local examples (e.g., eSewa failures, Khalti’s open-source use). Good luck!

Based on the TU BIT syllabus for Society and Ethics in IT (BIT358), unit 6.

Discussion

Loading…