commit 3f5fcd568c2a76357f99677c41a3826c262d5960 Author: Abhas Abhinav Date: Thu Feb 25 20:07:59 2021 +0530 Initial site diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..f40fbd8 --- /dev/null +++ b/.gitignore @@ -0,0 +1,5 @@ +_site +.sass-cache +.jekyll-cache +.jekyll-metadata +vendor diff --git a/404.html b/404.html new file mode 100644 index 0000000..086a5c9 --- /dev/null +++ b/404.html @@ -0,0 +1,25 @@ +--- +permalink: /404.html +layout: default +--- + + + +
+

404

+ +

Page not found :(

+

The requested page could not be found.

+
diff --git a/Gemfile b/Gemfile new file mode 100644 index 0000000..4218a19 --- /dev/null +++ b/Gemfile @@ -0,0 +1,30 @@ +source "https://rubygems.org" +# Hello! This is where you manage which Jekyll version is used to run. +# When you want to use a different version, change it below, save the +# file and run `bundle install`. Run Jekyll with `bundle exec`, like so: +# +# bundle exec jekyll serve +# +# This will help ensure the proper Jekyll version is running. +# Happy Jekylling! +gem "jekyll", "~> 4.0.1" +# This is the default theme for new Jekyll sites. You may change this to anything you like. +gem "minima", "~> 2.5" +# If you want to use GitHub Pages, remove the "gem "jekyll"" above and +# uncomment the line below. To upgrade, run `bundle update github-pages`. +# gem "github-pages", group: :jekyll_plugins +# If you have any plugins, put them here! +group :jekyll_plugins do + gem "jekyll-feed", "~> 0.12" +end + +# Windows and JRuby does not include zoneinfo files, so bundle the tzinfo-data gem +# and associated library. +install_if -> { RUBY_PLATFORM =~ %r!mingw|mswin|java! } do + gem "tzinfo", "~> 1.2" + gem "tzinfo-data" +end + +# Performance-booster for watching directories on Windows +gem "wdm", "~> 0.1.1", :install_if => Gem.win_platform? +gem "just-the-docs" diff --git a/Gemfile.lock b/Gemfile.lock new file mode 100644 index 0000000..46755ae --- /dev/null +++ b/Gemfile.lock @@ -0,0 +1,92 @@ +GEM + remote: https://rubygems.org/ + specs: + addressable (2.7.0) + public_suffix (>= 2.0.2, < 5.0) + colorator (1.1.0) + concurrent-ruby (1.1.8) + em-websocket (0.5.2) + eventmachine (>= 0.12.9) + http_parser.rb (~> 0.6.0) + eventmachine (1.2.7) + ffi (1.14.2) + forwardable-extended (2.6.0) + http_parser.rb (0.6.0) + i18n (1.8.9) + concurrent-ruby (~> 1.0) + jekyll (4.0.1) + addressable (~> 2.4) + colorator (~> 1.0) + em-websocket (~> 0.5) + i18n (>= 0.9.5, < 2) + jekyll-sass-converter (~> 2.0) + jekyll-watch (~> 2.0) + kramdown (~> 2.1) + kramdown-parser-gfm (~> 1.0) + liquid (~> 4.0) + mercenary (~> 0.3.3) + pathutil (~> 0.9) + rouge (~> 3.0) + safe_yaml (~> 1.0) + terminal-table (~> 1.8) + jekyll-feed (0.15.1) + jekyll (>= 3.7, < 5.0) + jekyll-sass-converter (2.1.0) + sassc (> 2.0.1, < 3.0) + jekyll-seo-tag (2.7.1) + jekyll (>= 3.8, < 5.0) + jekyll-watch (2.2.1) + listen (~> 3.0) + just-the-docs (0.3.3) + jekyll (>= 3.8.5) + jekyll-seo-tag (~> 2.0) + rake (>= 12.3.1, < 13.1.0) + kramdown (2.3.0) + rexml + kramdown-parser-gfm (1.1.0) + kramdown (~> 2.0) + liquid (4.0.3) + listen (3.4.1) + rb-fsevent (~> 0.10, >= 0.10.3) + rb-inotify (~> 0.9, >= 0.9.10) + mercenary (0.3.6) + minima (2.5.1) + jekyll (>= 3.5, < 5.0) + jekyll-feed (~> 0.9) + jekyll-seo-tag (~> 2.1) + pathutil (0.16.2) + forwardable-extended (~> 2.6) + public_suffix (4.0.6) + rake (13.0.3) + rb-fsevent (0.10.4) + rb-inotify (0.10.1) + ffi (~> 1.0) + rexml (3.2.4) + rouge (3.26.0) + safe_yaml (1.0.5) + sassc (2.4.0) + ffi (~> 1.9) + terminal-table (1.8.0) + unicode-display_width (~> 1.1, >= 1.1.1) + thread_safe (0.3.6) + tzinfo (1.2.9) + thread_safe (~> 0.1) + tzinfo-data (1.2021.1) + tzinfo (>= 1.0.0) + unicode-display_width (1.7.0) + wdm (0.1.1) + +PLATFORMS + ruby + +DEPENDENCIES + jekyll (~> 4.0.1) + jekyll-feed (~> 0.12) + just-the-docs + minima (~> 2.5) + tzinfo (~> 1.2) + tzinfo-data + wdm (~> 0.1.1) + +BUNDLED WITH + 2.1.4 diff --git a/_config.yml b/_config.yml new file mode 100644 index 0000000..726c722 --- /dev/null +++ b/_config.yml @@ -0,0 +1,58 @@ +# Welcome to Jekyll! +# +# This config file is meant for settings that affect your whole blog, values +# which you are expected to set up once and rarely edit after that. If you find +# yourself editing this file very often, consider using Jekyll's data files +# feature for the data you need to update frequently. +# +# For technical reasons, this file is *NOT* reloaded automatically when you use +# 'bundle exec jekyll serve'. If you change this file, please restart the server process. +# +# If you need help with YAML syntax, here are some quick references for you: +# https://learn-the-web.algonquindesign.ca/topics/markdown-yaml-cheat-sheet/#yaml +# https://learnxinyminutes.com/docs/yaml/ +# +# Site settings +# These are used to personalize your new site. If you look in the HTML files, +# you will see them accessed via {{ site.title }}, {{ site.email }}, and so on. +# You can create any custom variable you would like, and they will be accessible +# in the templates via {{ site.myvariable }}. + +title: Self Hosted Education +email: abhas@abhas.io +description: >- # this means to ignore newlines until "baseurl:" + Write an awesome description for your new site here. You can edit this + line in _config.yml. It will appear in your document head meta (for + Google search results) and in your feed.xml site description. +baseurl: "" # the subpath of your site, e.g. /blog +url: "https://selfhosted.education" # the base hostname & protocol for your site, e.g. http://example.com +twitter_username: abhasabhinav +github_username: abhas + +logo: "/assets/she-logo.png" +search_enabled: false + +# Build settings +theme: "just-the-docs" +plugins: + - jekyll-feed + +# Exclude from processing. +# The following items will not be processed, by default. +# Any item listed under the `exclude:` key here will be automatically added to +# the internal "default list". +# +# Excluded items can be processed by explicitly listing the directories or +# their entries' file path in the `include:` list. +# +# exclude: +# - .sass-cache/ +# - .jekyll-cache/ +# - gemfiles/ +# - Gemfile +# - Gemfile.lock +# - node_modules/ +# - vendor/bundle/ +# - vendor/cache/ +# - vendor/gems/ +# - vendor/ruby/ diff --git a/_layouts/default.html b/_layouts/default.html new file mode 100644 index 0000000..31b0308 --- /dev/null +++ b/_layouts/default.html @@ -0,0 +1,206 @@ +--- +layout: table_wrappers +--- + + + + +{% include head.html %} + + + + Link + + + + + + Search + + + + + + Menu + + + + + + Expand + + + + + + Document + + + + + + + +
+
+ {% if site.search_enabled != false %} + + {% endif %} + {% include header_custom.html %} + {% if site.aux_links %} + + {% endif %} +
+
+ {% unless page.url == "/" %} + {% if page.parent %} + {%- for node in pages_list -%} + {%- if node.parent == nil -%} + {%- if page.parent == node.title or page.grand_parent == node.title -%} + {%- assign first_level_url = node.url | absolute_url -%} + {%- endif -%} + {%- if node.has_children -%} + {%- assign children_list = pages_list | where: "parent", node.title -%} + {%- for child in children_list -%} + {%- if page.url == child.url or page.parent == child.title -%} + {%- assign second_level_url = child.url | absolute_url -%} + {%- endif -%} + {%- endfor -%} + {%- endif -%} + {%- endif -%} + {%- endfor -%} + + {% endif %} + {% endunless %} +
+ {% if site.heading_anchors != false %} + {% include vendor/anchor_headings.html html=content beforeHeading="true" anchorBody="" anchorClass="anchor-heading" anchorAttrs="aria-labelledby=\"%html_id%\"" %} + {% else %} + {{ content }} + {% endif %} + + {% if page.has_children == true and page.has_toc != false %} +
+

Table of contents

+
    + {%- assign children_list = pages_list | where: "parent", page.title | where: "grand_parent", page.parent -%} + {% for child in children_list %} +
  • + {{ child.title }}{% if child.summary %} - {{ child.summary }}{% endif %} +
  • + {% endfor %} +
+ {% endif %} + + {% capture footer_custom %} + {%- include footer_custom.html -%} + {% endcapture %} + {% if footer_custom != "" or site.last_edit_timestamp or site.gh_edit_link %} +
+
+ {% if site.back_to_top %} +

{{ site.back_to_top_text }}

+ {% endif %} + + {{ footer_custom }} + + {% if site.last_edit_timestamp or site.gh_edit_link %} +
+ {% if site.last_edit_timestamp and site.last_edit_time_format and page.last_modified_date %} +

+ Page last modified: {{ page.last_modified_date | date: site.last_edit_time_format }}. +

+ {% endif %} + {% if + site.gh_edit_link and + site.gh_edit_link_text and + site.gh_edit_repository and + site.gh_edit_branch and + site.gh_edit_view_mode + %} +

+ {{ site.gh_edit_link_text }} +

+ {% endif %} +
+ {% endif %} +
+ {% endif %} + +
+
+ + {% if site.search_enabled != false %} + {% if site.search.button %} + + + + {% endif %} + +
+ {% endif %} +
+ + diff --git a/_posts/2021-02-25-welcome-to-jekyll.markdown b/_posts/2021-02-25-welcome-to-jekyll.markdown new file mode 100644 index 0000000..af967b4 --- /dev/null +++ b/_posts/2021-02-25-welcome-to-jekyll.markdown @@ -0,0 +1,29 @@ +--- +layout: post +title: "Welcome to Jekyll!" +date: 2021-02-25 00:19:13 +0530 +categories: jekyll update +--- +You’ll find this post in your `_posts` directory. Go ahead and edit it and re-build the site to see your changes. You can rebuild the site in many different ways, but the most common way is to run `jekyll serve`, which launches a web server and auto-regenerates your site when a file is updated. + +Jekyll requires blog post files to be named according to the following format: + +`YEAR-MONTH-DAY-title.MARKUP` + +Where `YEAR` is a four-digit number, `MONTH` and `DAY` are both two-digit numbers, and `MARKUP` is the file extension representing the format used in the file. After that, include the necessary front matter. Take a look at the source for this post to get an idea about how it works. + +Jekyll also offers powerful support for code snippets: + +{% highlight ruby %} +def print_hi(name) + puts "Hi, #{name}" +end +print_hi('Tom') +#=> prints 'Hi, Tom' to STDOUT. +{% endhighlight %} + +Check out the [Jekyll docs][jekyll-docs] for more info on how to get the most out of Jekyll. File all bugs/feature requests at [Jekyll’s GitHub repo][jekyll-gh]. If you have questions, you can ask them on [Jekyll Talk][jekyll-talk]. + +[jekyll-docs]: https://jekyllrb.com/docs/home +[jekyll-gh]: https://github.com/jekyll/jekyll +[jekyll-talk]: https://talk.jekyllrb.com/ diff --git a/_sass/custom/custom.scss b/_sass/custom/custom.scss new file mode 100644 index 0000000..0115d13 --- /dev/null +++ b/_sass/custom/custom.scss @@ -0,0 +1,21 @@ +body { + font-family: Iosevka; + font-weight: 400; + font-feature-settings: "kern" 1, "liga" 1; + font-optical-sizing: auto; + color: #010101; +} + +.site-footer { + text-align: justify; + color: #4f4f4f; + font-weight: 500; + line-height: 1.2em; + font-size: 120%; +} + +h1, h2 { + font-family: Iosevka; + color: #3771C9; + font-weight: 500; +} diff --git a/about.markdown b/about.markdown new file mode 100644 index 0000000..46b63ec --- /dev/null +++ b/about.markdown @@ -0,0 +1,10 @@ +--- +layout: page +title: About +nav_order: 1 +permalink: /about/ +--- + + + + diff --git a/action.md b/action.md new file mode 100644 index 0000000..5d7a4c6 --- /dev/null +++ b/action.md @@ -0,0 +1,7 @@ +--- +layout: default +title: Take Action +nav_order: 7 +--- + +# Take Action diff --git a/assets/firewalls.png b/assets/firewalls.png new file mode 100644 index 0000000..06ec8c0 Binary files /dev/null and b/assets/firewalls.png differ diff --git a/assets/identity.png b/assets/identity.png new file mode 100644 index 0000000..1d01dab Binary files /dev/null and b/assets/identity.png differ diff --git a/assets/security.png b/assets/security.png new file mode 100644 index 0000000..304dd4f Binary files /dev/null and b/assets/security.png differ diff --git a/assets/she-logo.png b/assets/she-logo.png new file mode 100644 index 0000000..5c7172f Binary files /dev/null and b/assets/she-logo.png differ diff --git a/assets/wireless.png b/assets/wireless.png new file mode 100644 index 0000000..b0c3f48 Binary files /dev/null and b/assets/wireless.png differ diff --git a/benefits.md b/benefits.md new file mode 100644 index 0000000..961143c --- /dev/null +++ b/benefits.md @@ -0,0 +1,32 @@ +--- +layout: default +title: Benefits for Students +nav_order: 5 +--- + +# Benefits for Students + +## Hands-on Experience + +Students will gain complete hands-on experience on the tools that are regularly +used in industry and the FOSS community. Pro-actively building skills in such +tools will make it possible for them to contribute to FOSS and also pitch for +systems design and administration, research and software development +opportunities professionally. + +## Awareness and Skills + +Awareness of methods and practices used in industry or FOSS community: It is + not just tools that are essential – awareness and experience with established +and ad-hoc methods and practices will enable students to fit in easily and +quickly into global communities and participate effectively. + +## Opportunity to learn and experiment safely + +Opportunity to experiment and learn safely without affecting the production +deployment of services in the lab. Students should not just be users and +consumers of technology. By demonstrating the fact that such infrastructure can +be built effectively and affordably by choosing Self Hosting and Free Software, +we can enable them to also attempt to do the same and learn and build so much +more. + diff --git a/credits.md b/credits.md new file mode 100644 index 0000000..b5afb7f --- /dev/null +++ b/credits.md @@ -0,0 +1,7 @@ +--- +layout: default +title: Credits +nav_order: 6 +--- + +# Credits diff --git a/deploy.sh b/deploy.sh new file mode 100755 index 0000000..5004bab --- /dev/null +++ b/deploy.sh @@ -0,0 +1 @@ +rsync -apv _site/* root@h0gvpn:/home/websites/selfhosted.education diff --git a/essential.md b/essential.md new file mode 100644 index 0000000..f6d7f50 --- /dev/null +++ b/essential.md @@ -0,0 +1,22 @@ +--- +layout: default +title: Services and Solutions +nav_order: 4 +has_children: true +--- + +# Essential Services & Solutions + +Presented here is an overview of solutions that are essential and +indispensable for any college campus or departmental network. + +The goal of this note is to explain what these solutions are, how they +work, why they are useful and how they provide more value to everyone +while enabling us to become more effective in whatever we do. + +There are three core ideologies which form the basis for our +discussion here: + +* Free / Open Source Software, +* Self-Hosting, and +* Build-it-Yourself diff --git a/essential/communication.md b/essential/communication.md new file mode 100644 index 0000000..0496547 --- /dev/null +++ b/essential/communication.md @@ -0,0 +1,9 @@ +--- +layout: default +parent: Services and Solutions +nav_order: 3 +title: Communication Tools +--- + +# Email, Communication & Collaboration + diff --git a/essential/files.md b/essential/files.md new file mode 100644 index 0000000..fe6d69a --- /dev/null +++ b/essential/files.md @@ -0,0 +1,8 @@ +--- +layout: default +parent: Services and Solutions +nav_order: 5 +title: File Sharing + Archival +--- + +# File Sharing, Collaboration and Media Archival diff --git a/essential/identity.md b/essential/identity.md new file mode 100644 index 0000000..874eab1 --- /dev/null +++ b/essential/identity.md @@ -0,0 +1,9 @@ +--- +layout: default +parent: Services and Solutions +nav_order: 1 +title: Identity Management +--- + +# Identity Management & Centralised Authentication + diff --git a/essential/lab-automation.md b/essential/lab-automation.md new file mode 100644 index 0000000..cc18c4f --- /dev/null +++ b/essential/lab-automation.md @@ -0,0 +1,8 @@ +--- +layout: default +parent: Services and Solutions +nav_order: 2 +title: Lab Automation +--- + +# Lab Automation & Local Repository Mirrors diff --git a/essential/request-tracking.md b/essential/request-tracking.md new file mode 100644 index 0000000..9c55a8a --- /dev/null +++ b/essential/request-tracking.md @@ -0,0 +1,8 @@ +--- +layout: default +parent: Services and Solutions +nav_order: 4 +title: Request Tracking +--- + +# Helpdesks & Request Tracking diff --git a/essential/source-code.md b/essential/source-code.md new file mode 100644 index 0000000..ef2f827 --- /dev/null +++ b/essential/source-code.md @@ -0,0 +1,8 @@ +--- +layout: default +parent: Services and Solutions +nav_order: 6 +title: Source Code +--- + +# Source Code management, Versioning, Collaboration, Review, Release, Packaging, Documentation & Deployment. diff --git a/essential/virtualisation.md b/essential/virtualisation.md new file mode 100644 index 0000000..5b3bdda --- /dev/null +++ b/essential/virtualisation.md @@ -0,0 +1,8 @@ +--- +layout: default +parent: Services and Solutions +nav_order: 7 +title: Virtualisation +--- + +# Virtualisation, Private Cloud & Infrastructure / Container / Platform as a Service diff --git a/index.markdown b/index.markdown new file mode 100644 index 0000000..e98d266 --- /dev/null +++ b/index.markdown @@ -0,0 +1,11 @@ +--- +# Feel free to add content and custom Front Matter to this file. +# To modify the layout, see https://jekyllrb.com/docs/themes/#overriding-theme-defaults + +layout: home +--- + + + +

Free Software Solutions For Educational Institutions

Technical Details, Common Problems and Benefits

+ diff --git a/network.md b/network.md new file mode 100644 index 0000000..aafb2c9 --- /dev/null +++ b/network.md @@ -0,0 +1,22 @@ +--- +layout: default +title: Network Solutions +nav_order: 3 +has_children: true +--- + +# Network Solutions + +Presented here is an overview of solutions that are essential and +indispensable for any college campus or departmental network. + +The goal of this note is to explain what these solutions are, how they +work, why they are useful and how they provide more value to everyone +while enabling us to become more effective in whatever we do. + +There are three core ideologies which form the basis for our +discussion here: + +* Free / Open Source Software, +* Self-Hosting, and +* Build-it-Yourself diff --git a/network/access-control.md b/network/access-control.md new file mode 100644 index 0000000..bf66e10 --- /dev/null +++ b/network/access-control.md @@ -0,0 +1,9 @@ +--- +layout: default +parent: Network Solutions +nav_order: 4 +title: Access Control +--- + +# Network Access Control, Captive Portal, BYOD Management, Centralised Wired and Wireless Management + diff --git a/network/firewalls.md b/network/firewalls.md new file mode 100644 index 0000000..cdcb6e0 --- /dev/null +++ b/network/firewalls.md @@ -0,0 +1,82 @@ +--- +layout: default +parent: Network Solutions +nav_order: 1 +title: Firewalls +--- + +# Firewalls, Bandwidth Management and Link Aggregation and Failover + +
+ +
+ +## Overview + +A firewall is a hardware + software solution that connects and shares +Internet bandwidth with your local network. It isolates and protects +the local network from the Internet and also allows you to securely +expose specific applications, services and servers on the local +network. + +A bandwidth management solution helps you monitor your bandwidth usage +and then allows you to define bandwidth and Internet usage priorities +and policies. + +A link aggregation and failover solution lets you connect multiple +Internet links to your firewall so that you can have more bandwidth +available to users on the local network. This also means that you +don’t rely on a single Internet link or ISP for your Internet +connectivity needs. + +## Common Problems + +* You have a firewall but you need to repeatedly call a service provider or + vendor to manage the rules for you. + +* You have a lot of Internet bandwidth but your Internet usage and experience + is slow. + +* When large or bulk files are repeatedly downloaded, it causes a slowdown for + other users. + +* It is impossible to account for your bandwidth utilisation. + +* When your main Internet link goes down, or is slow, it cuts off the entire + network from the Internet + +* You are having to depend on third-party ISPs to provide high- speed and + unrestricted access to the Internet + +* Even when you have multiple links to the Internet, you might not be able to + use them all at the same time. Or specify policies on who can use which one + at what time. + +## Benefits + +* No dependency on 3rd party for firewall management. + +* No risk of usage data being sent to a firewall vendor's cloud setup for + analysis – thereby, ensuring better privacy for users + +* Optimal utilisation of all the available Internet links simultaneously and + automatic failover + +* Fair sharing of bandwidth amongst users so that prioritised traffic and users + always get the required bandwidth + +* Actionable Internet utilisation reports + +* Caching of frequently accessed content from the Internet saves bandwidth and + improves user experience + +* Extended caching of bulk content like OS updates, Anti-Virus updates etc + +* Granular Web Access controls depending on user, time of day, day of week, + content-type, request-type etc + +* Logs can be retained for as long as required for data and trend analysis + +* User identity and authentication is mapped from a singular, campus-wide + service that is used for all other applications as well + diff --git a/network/security.md b/network/security.md new file mode 100644 index 0000000..9ba8e2d --- /dev/null +++ b/network/security.md @@ -0,0 +1,64 @@ +--- +layout: default +parent: Network Solutions +nav_order: 2 +title: Security +--- + +# Network Security and Intrusion / Malware Detection + +## Overview + +Keeping the network secure is as important as keeping it fully- +functional. The traditional approach of just using an equipment at the +gateway is not sufficient. The threats can emanate from inside the +networks as much as they come from the Internet. + +A functional and up-to-date Intrusion Detection and Prevention System +(IDS/IPS) is an integral part of a secure network in addition to anti- +malware software. An IDS/IPS inspects all the traffic passing through +the network in real-time and matches them with pre-defined signatures +to generate alerts and/or block the malicious activities from outside +or inside the network. + +A SIEM (Security Incident and Events Monitoring) system can collect +logs generated from various components like firewalls, servers, +IDS/IPS, network access controllers, DHCP Servers etc to provide a +holistic view of the security situation of the network. + +## Common Problems + +* There are infected machines in the network which are generating huge amount + of traffic affecting the whole network. These things can happen silently + without any outward symptoms till it begins to affect users in a negative way. + +* There are Trojans installed in the machines which spread through the network + or can be part of a bigger attacks and are just waiting for a trigger from + “Command and Control” (CnC) server on the Internet + +* You are not even aware that there are a lot of Intrusion or Denial-of-Service + (DoS) attacks are happening on your network which are eating system resources + of your gateway firewall + +* Students could be trying to learn about security by attacking the servers + inside the college network (or on the Internet) + +* Unauthorised access attempts to the servers or computers inside the network + are not noticed + +## Benefits + +* Visibility into malicious activity present in the network - originating from + either the Internet or within the local network + +* Automatic blocking of the hosts generating such activities from the Internet + +* Automatic isolation of the hosts generating malicious traffic from within the + network with the users and administrators get notified of the same + +* Various vulnerabilities get highlighted on the SIEM which when fixed on time + save the network from catastrophic downtime + +* The possibility of machines inside the network getting involved in large + scale attacks on the Internet gets minimised to a great extent + diff --git a/network/wireless.md b/network/wireless.md new file mode 100644 index 0000000..a43d938 --- /dev/null +++ b/network/wireless.md @@ -0,0 +1,9 @@ +--- +layout: default +parent: Network Solutions +nav_order: 3 +title: Wireless +--- + +# Campus Wireless Networking and Access Points + diff --git a/overview.md b/overview.md new file mode 100644 index 0000000..ad19f0b --- /dev/null +++ b/overview.md @@ -0,0 +1,22 @@ +--- +layout: default +title: Overview +nav_order: 2 +has_children: true +--- + +# Overview + +Presented here is an overview of solutions that are essential and +indispensable for any college campus or departmental network. + +The goal of this note is to explain what these solutions are, how they +work, why they are useful and how they provide more value to everyone +while enabling us to become more effective in whatever we do. + +There are three core ideologies which form the basis for our +discussion here: + +* Free / Open Source Software, +* Self-Hosting, and +* Build-it-Yourself diff --git a/overview/build-it-yourself.md b/overview/build-it-yourself.md new file mode 100644 index 0000000..c1b0f9b --- /dev/null +++ b/overview/build-it-yourself.md @@ -0,0 +1,8 @@ +--- +layout: default +parent: Overview +nav_order: 3 +title: Build it yourself +--- + +# Build it yourself diff --git a/overview/free-software.md b/overview/free-software.md new file mode 100644 index 0000000..deb20c5 --- /dev/null +++ b/overview/free-software.md @@ -0,0 +1,57 @@ +--- +layout: default +parent: Overview +nav_order: 1 +title: What is Free Software? +--- + +# What is Free/Libre/Open Source Software? + +Free / Open Source Software is software that provides the following +four freedoms to us: + + * Freedom to use the software for any purpose + + * Freedom to study the source code of the software and learn from it + + * Freedom to modify the software and make changes to it + + * Freedom to share the software (in its original and modified form) + +These freedoms are essential as they provide us with the essential +framework for learning and sharing knowledge. + +The freedom to use software for any purpose ensures that anyone can +use the software for any endeavour (educational, personal, commercial, +non-profit, governmental, defence and more) and in any region. Free +Software does not discriminate. + +> For the purpose of this document, we use the terms “Free Software” and “Free +> / Open Source Software” interchangeably to refer to software that provides +> freedom to us. While “Free Software” is the original term that was used to +> describe such a body of software, the term “Open Source” has also gained a +> lot of popularity . We consider “Free Software” to be a more useful term +> since it captures the essence of this philosophy and does not dilute it for +> whatever pragmatic or marketing reasons. + +The availability of source code provides us an opportunity to study +and understand how something works. Without this freedom we would +never be able to learn from what others have done or apply that +learning to our own lives. + +The freedom to modify the software enables to learn and gain +confidence by doing things. It allows us to extend the software, fix +bugs in it, translate or localise it and adapt it for other purposes. +Finally, the freedom to share a program (in its original or modified +form) allows us to help others while also providing subsequent users +with the same sort of freedom that we enjoy. It ensures that the +software remains free and provides every user, teacher and developer +equitable freedom. + +Proprietary software (ie. software that is distributed only as a +binary and where we are restricted from accessing its source code or +modifying it or sharing it freely), on the other hand, does not +provide us with any opportunity to learn or understand how things work +or make changes to them to test and validate our understanding. + + diff --git a/overview/relevance.md b/overview/relevance.md new file mode 100644 index 0000000..649931c --- /dev/null +++ b/overview/relevance.md @@ -0,0 +1,9 @@ +--- +layout: default +parent: Overview +nav_order: 4 +title: Why is this relevant? +--- + +# Why is this relevant for us? + diff --git a/overview/self-hosting.md b/overview/self-hosting.md new file mode 100644 index 0000000..c193e4b --- /dev/null +++ b/overview/self-hosting.md @@ -0,0 +1,10 @@ +--- +layout: default +parent: Overview +nav_order: 2 +title: Choosing Self Hosting +--- + +# Why choose self hosting? + + diff --git a/overview/what.md b/overview/what.md new file mode 100644 index 0000000..a2562fb --- /dev/null +++ b/overview/what.md @@ -0,0 +1,9 @@ +--- +layout: default +parent: Overview +nav_order: 5 +title: What can we build? +--- + +# What can we build? +