Web Crawlers & Hyperlink Analysis Albert Sutojo CS267 – Fall 2005 Instructor : Dr. T.Y Lin.
Open-Source Software Project Development Instructor: Dr. T.Y. Wong Week
-
Upload
api-12297134 -
Category
Documents
-
view
216 -
download
0
Transcript of Open-Source Software Project Development Instructor: Dr. T.Y. Wong Week
-
8/14/2019 Open-Source Software Project Development Instructor: Dr. T.Y. Wong Week
1/23
Instructor: Dr. T.Y. Wong
Open-Source Software Project Development
Week 1, Part 1
Introduction to
Open-Source Development
-
8/14/2019 Open-Source Software Project Development Instructor: Dr. T.Y. Wong Week
2/23
-
8/14/2019 Open-Source Software Project Development Instructor: Dr. T.Y. Wong Week
3/23
Spring semester2008-2009
CSC4140 Open-SourceSoftware Project Development
Page 3
Why do we need a license?
The fundamental purpose of a license,
e.g., license on a book, is to: protect the originality of the work;
protect the inventors right;
the deny anybody the right to exclusivelyexploit the work.
Free software license and Open-source
license do different things.
-
8/14/2019 Open-Source Software Project Development Instructor: Dr. T.Y. Wong Week
4/23
Spring semester2008-2009
CSC4140 Open-SourceSoftware Project Development
Page 4
What is a free software?Free software isas in free speech,not in free beer.
How to interpret the CODE?
Speech itself does not carryany monetary value. But, theaction may take value.
E.g., Clintons speech takesseveral millions HKD. But, the
speech itself may be
Beer itself has monetaryvalue. But, you may beable to get it for free.
-
8/14/2019 Open-Source Software Project Development Instructor: Dr. T.Y. Wong Week
5/23
Spring semester2008-2009
CSC4140 Open-SourceSoftware Project Development
Page 5
What is a free software?Free software isas in free speech,not in free beer.
Stallmans Utopia
The price tag on the software shouldbe removed. Programmers should giveit out free-of-charge.
I make a living by giving outfree software. In return, Ireceive donations. It isgreat. Why not joining us?
Source: http://www.gnu.org/software/global/model.html
-
8/14/2019 Open-Source Software Project Development Instructor: Dr. T.Y. Wong Week
6/23
Spring semester2008-2009
CSC4140 Open-SourceSoftware Project Development
Page 6
A free software license?Free software isas in free speech,not in free beer.
The license says: any
users can free touse, study, copy, modify,
and redistribute the
computer software
GNU Public License - GPL
-
8/14/2019 Open-Source Software Project Development Instructor: Dr. T.Y. Wong Week
7/23
Spring semester2008-2009
CSC4140 Open-SourceSoftware Project Development
Page 7
A free software license?Free, but withone and only onerestriction
The license also says: A user is free to modify the code.
When the user distributes themodified software, the new
software is automatically carriesGPL.
GNU Public License - GPL
-
8/14/2019 Open-Source Software Project Development Instructor: Dr. T.Y. Wong Week
8/23
Spring semester2008-2009
CSC4140 Open-SourceSoftware Project Development
Page 8
A free software license?
Stallmans action was to initially opposeUNIX because there is a price tag on UNIX.
He was so sad about commercialsoftware: you own the physical copy of
the software, but you are bound not to copy the work; not to make derivative works based on the
work; and
not to authorize anyone else to do either ofthe above two things.
Have you ever heard of the EULA, end-
user license agreement?
Software shouldbe free!!
-
8/14/2019 Open-Source Software Project Development Instructor: Dr. T.Y. Wong Week
9/23
What is an open-source software?
Spring semester2008-2009
CSC4140 Open-SourceSoftware Project Development
Page 9
Open-source software == free software?
Not exactly.
Depends on which license the software bears.
GPL LGPL MozillaDerived work carries thesame license.
MIT BSD ApacheDerived work may be allowedto go close-source!
Derived work may not carrythe same license, but have to
reflect originality of the work.
Qt Artistic CC
-
8/14/2019 Open-Source Software Project Development Instructor: Dr. T.Y. Wong Week
10/23
Open-Source Software Development Cycle
Spring semester2008-2009
CSC4140 Open-SourceSoftware Project Development
Page 10
Traditional softwaredevelopment cycle:
Programmers work in the office.
They have regular meetings to
brainstorm ideas, scolded bybosses, etc.
They have the manager tocheck on their progress.
-
8/14/2019 Open-Source Software Project Development Instructor: Dr. T.Y. Wong Week
11/23
Open-Source Software Development Cycle
Spring semester2008-2009
CSC4140 Open-SourceSoftware Project Development
Page 11
Open-source softwaredevelopment cycle:
Office? Yes, programmers usuallyhave a regular job. However, theywork on the open-source software
at home.
Meeting? Yes, but on the Internet.
Manager? Yes, instead, he/she iscalled the lead programmer(s) orthe project founder(s).
-
8/14/2019 Open-Source Software Project Development Instructor: Dr. T.Y. Wong Week
12/23
Open-Source Software Development Cycle
Spring semester2008-2009
CSC4140 Open-SourceSoftware Project Development
Page 12
They need to communicate in order thatthey all know the progress and havediscussion.
Before the age of ICQ, they use IRC &
mailing lists.
Taiwan
England
IndiaIRC, mailing list.
Programmers are usually located in
different geographical locations.
U.S.
-
8/14/2019 Open-Source Software Project Development Instructor: Dr. T.Y. Wong Week
13/23
Open-Source Software Development Cycle
Spring semester2008-2009
CSC4140 Open-SourceSoftware Project Development
Page 13
They need tools to manage the sourcecodes in a way that distributedprogrammers can access and update.
E.g., git and subversion (svn).
Taiwan
England
Indiagit, svn, cvs
Programmers are usually located in
different geographical locations.
U.S.
-
8/14/2019 Open-Source Software Project Development Instructor: Dr. T.Y. Wong Week
14/23
Spring semester2008-2009
CSC4140 Open-SourceSoftware Project Development
Page 14
Pros and Cons of Open-Source
Pros #1: innovation.
There are great people who:
Dont ask for any reward;
Just want to contribute to the world;
Make the (computer) world a better place;
E.g., Linus Torvalds wrote his Intel-based Minix-likekernel just because he wanted to contribute to the
community.
-
8/14/2019 Open-Source Software Project Development Instructor: Dr. T.Y. Wong Week
15/23
Spring semester2008-2009
CSC4140 Open-SourceSoftware Project Development
Page 15
Pros and Cons of Open-Source
Pros #2: reliability.
There are large number of people who:
are interested in existing open-source projects; and
are willing to devote time to make the projects better;
Such a number is too big comparing to commercialsoftware companies
because every (enabled) user can help to fix bugs since the
software is open-source. Close-source software cannot entertain from such a benefit.
-
8/14/2019 Open-Source Software Project Development Instructor: Dr. T.Y. Wong Week
16/23
Spring semester2008-2009
CSC4140 Open-SourceSoftware Project Development
Page 16
Pros and Cons of Open-Source
Pros #3: longevity.
A commercial software may be abandoned byits publisher.
E.g., Microsoft Corp. wants to discontinue the
Windows XP in order to boost the adoption rate ofWindows Vista.
Not the case for open-source. RedHat VS Fedora.
-
8/14/2019 Open-Source Software Project Development Instructor: Dr. T.Y. Wong Week
17/23
Spring semester2008-2009
CSC4140 Open-SourceSoftware Project Development
Page 17
Pros and Cons of Open-Source
Cons #1: lack of support Suppose you bought the MS Windows Server
2008 and its license. When you encounter any problems
a phone call to Microsoft can help you.
Suppose you downloaded the Ubuntu 8.10.
When you encounter any problems Ask the doc, Ask the expert, or Askgoogle are the only ways out (not a phone call toDr. Wong).
-
8/14/2019 Open-Source Software Project Development Instructor: Dr. T.Y. Wong Week
18/23
Spring semester2008-2009
CSC4140 Open-SourceSoftware Project Development
Page 18
Pros and Cons of Open-Source
Cons #2: Licensing problems
Open-source software with GPL is problematic to
commercial companies. E.g., I think that software A, which is under GPL, is great,
but it is not great enough.
Then, I modify it and it is perfect now. Can I sell the new software A and make a profit?
Yesbut, you have to open the source Then, everyone knows how you implement it.
Then, why does someone need to pay?
-
8/14/2019 Open-Source Software Project Development Instructor: Dr. T.Y. Wong Week
19/23
-
8/14/2019 Open-Source Software Project Development Instructor: Dr. T.Y. Wong Week
20/23
Brief open-source software history
Spring semester2008-2009
CSC4140 Open-SourceSoftware Project Development
Page 20
The DotCom Era
Apache
1995
(Not drawn to scale)
JavaScript
PostgreSQL
IBM adopted
open-sourcesoftware
Netscape issuedGPL version
1998 2000
-
8/14/2019 Open-Source Software Project Development Instructor: Dr. T.Y. Wong Week
21/23
Brief open-source software history
Spring semester2008-2009
CSC4140 Open-SourceSoftware Project Development
Page 21
The DotCom bubble bursted
Open-source software become more mature. Many companies started their business based
on open-source software.
Release both proprietaryand open-source versions.
targets onenterprise users.
-
8/14/2019 Open-Source Software Project Development Instructor: Dr. T.Y. Wong Week
22/23
-
8/14/2019 Open-Source Software Project Development Instructor: Dr. T.Y. Wong Week
23/23
Trends in Open-Source Software
Spring semester2008-2009
CSC4140 Open-SourceSoftware Project Development
Page 23
Our course will focus on
how to develop robust and efficient server software.
how to use the web browser as an ubiquitous,versatile interface to ugly programs.
Server software Apache (Web), MySQL (database), Samba(Windows file sharing), etc.
Interface for CLI,non-user-friendlysoftware
GNOME vs Console, phpMyadmin vs mysql-client,SWAT vs text editor, etc.