Download presentation
Presentation is loading. Please wait.
Published byVirginia Porter Modified over 9 years ago
1
Internet Applications Spring 2008
2
Review Last week –Ajax / APIs –JavaScript overview –RSS reader exercises 1-5 –Questions?
3
This week Open source software Exercises –Installing & Configuring Wordpress –Exercises 6 & 7 from our RSS reader MySQL functions in PHP Recent events –http://www.photoshop.com/expresshttp://www.photoshop.com/express –PWN2OWN 2008PWN2OWN 2008
4
What is Open Source? What makes open source software? –Ability for user to modify? –Legal agreements? –Community based development? –Standards based? OSI Definitions
5
History of open source ARPANET, Berkley, DEC, UNIX Software was developed by users, was tied closely to hardware, was not commoditized Bill Gates & the Homebrew computer club – the letter the letter Richard Stallman (1983), GNU & the Free Software foundation Linus Torvalds (1991) Linux 1995 – NCSA server & Apache 1998 – Netscape & the Open Source InitiativeOpen Source Initiative
6
History of open source (2) 1998 – IBM partners with Apache 1999 – Apache Software foundationApache Software foundation 1999 – Star Office / Open Office 2001 – LAMP environments become commonplace 2006 – Microsoft proposes their own OOXML standard for Office 2007 (recent events, more recent events)recent eventsmore recent events
7
Factors of Open Source Licensing & Copyright Standards adherence Sustainability Modularity / extensibility Development Cost (free / fee) Support Cost (Local, licensed)
8
Licensing and Copyright Copyright Public Domain Mickey Mouse Protection Act CopyLeft –You can re-distribute but not modify or change license of derivative software –GNU public license CreativeCommons “Creative Commons licenses give you the ability to dictate how others may exercise your copyright rights—such as the right of others to copy your work, make derivative works or adaptations of your work, to distribute your work and/or make money from your work.” (CreativeCommons) Open Source Licenses
9
What are Open Standards? Facets of open standards –Vendor neutral –Published –Interoperable –Public domain –International –Consensus Based –Well Defined Benefits –Cooperative development –Cost/Time savings Examples –HTMLHTML –XML –Dublin CoreDublin Core –PDFX –PNG (Portable Network Graphics) –C#C#
10
OSS & OS – the Open Document Format Formats –Open formats Pdf Html Xml –Closed formats.doc.ppt psd Controversies –OOXML vs. ODF Microsoft vs. Open Office Redhat Magazine
11
Disruptive technologies “release early and often, delegate everything you can, be open to the point of promiscuity” (Raymond) Definitions: A technological innovation that undermines the place of other technologies in the marketplace by significantly improving performance, saving time, or redefining expectations (more at Wikipedia)more at Wikipedia –Microsoft’s Halloween documentsMicrosoft’s Halloween documents http://www.catb.org/~esr/writings/cathedral-bazaar/cathedral-bazaar/
12
The Cathedral and the Bazaar Every good work of software starts by scratching a developer's personal itch. Good programmers know what to write. Great ones know what to rewrite (and reuse). When you lose interest in a program, your last duty to it is to hand it off to a competent successor. Treating your users as co-developers is your least-hassle route to rapid code improvement and effective debugging Release early. Release often. And listen to your customers. Given a large enough beta-tester and co-developer base, almost every problem will be characterized quickly and the fix obvious to someone. Smart data structures and dumb code works a lot better than the other way around. Eric Raymond, 1998 http://www.catb.org/~esr/writings/cathedral-bazaar/cathedral-bazaar/index.html
13
Cathedrals & Bazaars Proprietary Unix Systems Large Banking Systems Integrated Library Systems Internet Explorer Microsoft Office Itunes Ebay? Amazon? Red Hat Linux Linux Evergreen Open Office Apache FireFox Facebook? Ebay? Amazon? Audacity Dspace
14
Case Study - Unix 1980s, 90s –Saw competition between AT&T, Novell, Sun, SCO 1982 –Richard Stallman starts GNU project 1992 –Linux is released under GNU license, created by Linus TorvaldsLinus Torvalds –Linux is on ~12% of servers (while Apache runs nearly 50% of websites)~12% 1994 –Red Hat Linux released using a vendor support model –$50 included a distribution and initial support 1998 –IBM invests in Red Hat, partnerships with Dell, Compaq, Intel
15
Convergence Community Participation Copyright Perspective Facebook Second Life Apache ATOM Dspace Fedora Windows Mac OS RSS Ebay Amazon Google Code Slashcode Flickr MarcEdit Yahoo SDK Second Life viewer
16
Development models Distributed Project based Meritocracy based Community centric Sustainable?
17
The Law of Large numbers, Brooks Law, and the long tail Brooks Law –“adding manpower to a late software project makes it later (Brooks, 1975). “bugs tend strongly to cluster at the interfaces between code written by different people, and that communications / coordination overhead on a project tends to rise with the number of interfaces between human beings” (Raymond) Law of Large Numbers “Given a sample of independent and identically distributed random variables with a finite expected value, the average of these observations will eventually approach and stay close to the expected value.” (Wikipedia, Freund)independentexpected valueaverage The Long tail “realize significant profit out of selling small volumes of hard-to- find items to many customers, instead of only selling large volumes of a reduced number of popular items (Anderson, 2004)
18
Economic models Support sellers –Sell support for open products Loss Leaders –Offer core components for free Sell it / free it –Open proprietary systems when market demands it Accessorizing –Sell add-on modules Service enabling –Create applications that enable revenue-generating service Branding –Differentiation in the market by perceived value
19
Support models Emergence of hybrid models: –Community developed software, community provided support –Community developed software – paid support –Branded software based on OS platform, paid support –Grant funded development, community continuation
20
Technologies for this class Linux Apache PHP MySQL LAMP, WAMP, MAMP –Linux (windows/mac), Apache, MySQL, Php –http://en.wikipedia.org/wiki/Comparison_of_WAMP shttp://en.wikipedia.org/wiki/Comparison_of_WAMP s
21
Open Source investigation Form into four groups. Each group should pick one of the applications below and do some research to answer these questions: Firefox, RedHat Linux, Apache web server, Facebook, PHP, Ruby, Dspace (Digital Library application), Ubuntu, Sun Java. 1.Is this application Open Source Software? 2.What kind of license does it have? 3.What is the development model (individual, community, etc)? 4.How active is the community surrounding the application? 5.How popular does it seem? 6.Is it sustainable? Take 15-20 minutes to research, we will briefly report our findings
22
XAMPP & Wordpress exercise Exercise goals Configuration –Overview of the XAMPP directory structures –Overview of Wordpress platform & structure Conditions & cautions Playtime
23
Skills needed for exercises 6 & 7 Ex 6 – MySQLEx 6 SQL syntax MySQL functions in PHP Ex 7 – Forms & form processingEx 7 Form coding and actions Global variables Page Logic
24
MySQL Open Source Relational Database http://mysql.com At SILS –pearl.ils.unc.edu Relational database features Tables, Indexes, Queries SQL (Structured Query Language)
25
SQL Skills SQL – Structured query language –Uses a syntax with words like (select, where, insert, delete, from) to create logical statements Select column from tablename where limit = ‘value’; Insert into table (column, column) values (value 1, value 2); –A good reference http://www.w3schools.com/sql/sql_quickref.asp
26
SQL Examples SELECT statements SELECT * from feeds where username = 'mitcheet'", SELECT * from feeds where id = ".$_REQUEST['feed'] INSERT statements INSERT INTO feeds (username, feedname, feedURL) values ('".$_REQUEST['username']."', '".$_REQUEST['feedName']."', '".$_REQUEST['feedUrl']."')"; DELETE statements DELETE from feeds where id = ".$_REQUEST['feedId']
27
MySQL functions in PHP Create a connection to the database $connection = mysql_connect($dbserver, $username, $pass); Select a database mysql_select_db($database, $connection); Run a query $result = mysql_query("SELECT * from feeds where username = 'mitcheet'", $connection); Get the results of the query as an array while ($row = mysql_fetch_array($result, MYSQL_NUM)) {} Close the connection mysql_close($connection);
28
MySQL Example function showFeed () { $connection = mysql_connect ("pearl.ils.unc.edu", "inls572_spring08", "yreuq572"); mysql_select_db("inls572_spring08", $connection); $result = mysql_query("SELECT * from feeds where id = ".$_REQUEST['feed'], $connection); while ($row = mysql_fetch_array($result, MYSQL_NUM)) { echo $row[3]; }
29
Next week Guest Speaker More on SQL, JavaScript, and application management
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.