FOSS

P a g e |1
FOSS

In the context of free and open-source software, free refers to the freedom to copy and re-use the software,
rather than to the price of the software.

Free and open-source software is an inclusive term which covers both

free software and open source software.

In 1983, Richard Stallman, longtime member of the hacker community at the MIT Artificial Intelligence
Laboratory, announced the GNU project, saying that he had become frustrated with the effects of the change in
culture of the computer industry and its users.

A free software license is a software license which grants recipients rights to modify and redistribute
the software, which would otherwise be prohibited by copyright law.

In the mid-80s, the GNU project produced individual free software licenses for each of its software packages.
These were all replaced in 1989 with version 1 of the GNU General Public License (GPL).

Free software, as defined by the Free Software Foundation, is software which can be used, copied, studied,
modified and redistributed without restriction.
Sample Projects







Face Detection Using Skin Color and Neural Network
Hospital management System
College Management Information System - II
Online Banking
Online Shopping Service System
e-Bansawali
e-Ticketing
Java

Java is a programming language originally developed by James Gosling at Sun Microsystems (which is now a
subsidiary of Oracle Corporation) and released in 1995 as a core component of Sun Microsystems' Java platform.

It is intended to let application developers "write once, run anywhere".

Java is currently one of the most popular programming languages in use, and is widely used from application
software to web applications.

Java uses an automatic garbage collector to manage memory in the object lifecycle. The programmer determines
when objects are created, and the Java runtime is responsible for recovering the memory once objects are no
longer in use.

The syntax of Java is largely derived from C++.

Exclusively as an object-oriented language. All code is written inside a class, and everything is an object, with the
exception of the primitive data types (integers, floating-point numbers, boolean values, and characters), which
are not classes for performance reasons.
P a g e |2

Java suppresses several features (such as operator overloading and multiple inheritance) for classes in order to
simplify the language and to prevent possible errors and anti-pattern design.

Java is an island where coffee is made and exported. The beans grown there are called Java beans, and the coffee
is called Java coffee. In the US, Java is slang for coffee in general. So it only makes sense that Sun would use a cup
of coffee for the Java logo (they also use a coffee bean for some of their Java-based programs).
JSP





JavaServer Pages (JSP) is a technology based on the Java language and enables the development of dynamic web
sites.
JSP was developed by Sun Microsystems to allow server side development.
JSP files are HTML files with special Tags containing Java source code that provide the dynamic content.
JavaServer Pages (JSP) is a Java technology that helps software developers serve dynamically generated web
pages based on HTML, XML, or other document types.
JSPs are compiled into servlets by a JSP compiler.
P a g e |3
Databases




A database is a system intended to organize, store, and retrieve large amounts of data easily.
A database allows you to manage and use an incredible variety of information easily.
Databases are easy to set-up, easy to manipulate and easy to use.
A database allows you to maintain order in what could be a very chaotic environment.





ER diagrams and Schema diagrams
Tables
Columns
Queries
Query tools
Desktop Applications versus Web Applications

There has been a long running debate about web applications replacing desktop software applications.

Web 2.0 : The term Web 2.0 is associated with web applications that facilitate interactive systemic
biases,interoperability, user-centered design,[1] and developing the World Wide Web
Advantages for users
o
o
o
o
o
o
no installation and updating
access from anywhere with the internet
data is stored remotely
cross-platform compatibility
better suitable for low-end computers and require little disk space
client computer is better protected from viruses as the app is sandboxed inside a browser
Disadvantages for users
o
o
o
desktop applications have better user experience
require internet access
the remote server could be compromised leaking private information
Advantages for developers
o
o
o
o
o
easier to monitor every user actions, get full statistics and feedback
you can choose to completely control the server-side code making it impossible to pirate
easier to add collaboration possibilities as data is stored on the server
easier to make a mobile version if you use HTML and JS
easier integration with web services
Disadvantages for developers
o
o
as it isn’t a native application it has a lot of restrictions and limitations
less tools and frameworks for development
P a g e |4
CSS
Cascading Style Sheets (CSS) is a style sheet language used to describe the presentation semantics (the look and
formatting) of a document written in a markup language
CSS is designed primarily to enable the separation of document content (written in HTML or a similar markup language)
from document presentation, including elements such as the layout, colors, and fonts
Architecture of a web application
Client Tier
The client tier interacts with the users for the solution. Since the application conforms to a three layered services
application it hosts the presentation layer components.
Application Tier
The servers used in the application tier are responsible for hosting all the application's business components and, in the
case of Web applications, the Web servers as well.
Data Tier
The servers in the data tier host the databases that the application requires; it is within this tier that the data layer is
hosted.