SUSE looks to be offering a LOT that OS-X does, especially with Novell's claim to have invested a lot of time in usability testing - and Novell still have a good name in corporate circles. There's also the possibility that it may actually evolve faster going forward. At the very least it will be good for Apple to have some REAL competition, rather than Microsoft catching up every 5 years.
Lest we forget, the only reason everyone uses Windows today is because large corporations did in the 80s, not because it won in the home market. (And Apple continue to blow sales by not even allowing ONE other firm to supply OS-X based machine - which immediately writes them out of many contracts).
I do think the mathematical foundation helps - ignoring SQL itself (Date and Darwen would love to replace it) what it boils down to are set operations, which in turn can be translated into logical ones. For me, relational seems to come from the standpoint of 'if we can cast data structure into set theory, then we have this whole body of knowledge that we can apply'. I even tend to forget this myself - writing a complex sub-query before remembering the 'MINUS' set operator exists.
That said, I may have come across as too anti-OO - I'm not at all. It's obviously a fantastic answer for dealing with certain programming problems - GUI interfaces spring to mind as a start. As someone else hinted in another reply, in relationland we talk about the set of CHAIRS and in OO we are more interested in a CHAIR and it's behaviour. Both are valid answers to different problems, it's just deciding which one is the MAIN problem of your app.
What I've seen so far is pretty cool (been playing with it at home, but only following tutorials rather than trying ti build something of my own) - and the whole thing (Ruby and Rails) does, indeed, seem to have the 'elegance' that good programmers love.
What I was interested in was how many of those advantages are Ruby (gems and the syntax are) and how many are Rails (MVC).
I brought up the ORM thing though because the whole thread is about ActiveRecord and reading some Ruby community blogs, inc. DHH's, there seems to be a hostility towards relational databases - I sense that some OO developers see them as a 'problem' that can be solved (many are probably too young to remember the problem that relational databases DID solve).
My view is that an RDBMS is a solution, just as OO is a solution, and functional programming is a solution (concurrency). The key thing, of course, is understanding what your problem is, while programmers will often start with their tool, and cast the problem to fit. (I am as guilty of that as anyone - we don't re-evaluate our tools every project, and often people come to us because of our experience in language X - if they wanted a.NET solution they will have gone somewhere else).
I guess compared to Java, SQL is still far less portable (in syntax and implementation), so I can see why it causes pain if you are used to writing in portable languages. (If you're willing to ignore all the 'avoid X as doesn't work on Tomcat' type stuff).
Definitely about time for a better relational language to emerge - SQL was, after all, just the first go, rather than definitive. I presume you've seen Date and Darwen's Third Manifesto?
I think that would certainly be one solution - something that worked as an object database for OO developers but allowed relational access (afterall, the point of SQL is that it should be independent of the underlying implementation). You'd effectively be putting the object-relational mapping on the other side. I can see a lot of advantages in this approach - you could integrate better with multiple OO languages - i.e. define your class in something akin to UML and spit out Java, Ruby, ActionScript, etc variations - and of course you could change the implementation of the D/B model without affecting the calling code. (You could already manually achieve something like this).
I'd also agree entirely with your last point - it's pretty much what Bruce Tate is getting at in 'Beyond Java' - that RoR is a better solution for the 'web page in front of d/b' type app which is the vast majority of apps out there - if what you want IS just object persistence then an object database is probably a better answer than an RDBMS.
The corollary to this is that in some cases, Java is more appropriate than Ruby, and in some cases a properly designed relational D/B is the correct solution - in the last two years I've seen someone take the 'objects serialised as XML' approach, which made sense for the initial requirement, then 3 months later the client wanted a summary of an attribute contained on a bottom node of the XML, across hundreds of objects. Ran like a dog (as in 20-30 seconds). Once we mapped it into the database the query took.5 seconds. (It's not rocket science as to why - it's always going to be quicker to parse an essentially fixed and flat record structure than a variable nested one).
I agree with the first point - that's what an ORM should be used for. What I'm seeing is a tendency in some quarters to hope that you can just use an ORM and not have to deal with the database at all.
I'd like to see more use of object databases - they seem a logical answer when people are using a d/b for nothing more than storing/querying objects - but they have their disadvantages - there are some things that are trivially easy in a relational system that are complex in OO - generally group ops.
I can still see the benefit of ORM even if SQL did deliver on it's promise, because there is so much repetition in mapping tables to classes, that it looks like an area ripe for automation.
However I do think that even if SQL was absolutely standard, there would still be issues (and thus issues in any abstract layer based on top of it). If the vendors could make their SQL always take the most performant path possible, they would - the problem is the age-old one of trying to get a computer to choose the most appropriate algorithm for a task - you can use heuristics and get a pretty good match most of the time (and an ORM layer will also do this) but if you could do it 100% of the time - we'd be out of a job. (Once we get a real AI then it might happen).
What concerns me is when developers seek to turn things from time-savers (replacing tedious repetitious work that they do understand) into a replacement for problem-solving - 'well, we don't need to worry about that layer any more'.
(One thing I think would be useful would be an ORM layer to spit out classes for Java, the.NET languages, Ruby, etc, as the D/B changes - but that might be because I see more systems with multiple languages in front, than systems with multiple D/B behind).
Which bit is causing you the problem - Ruby or Rails? My understanding is that Rails is simply providing, well, Rails to give you a rapid framework for your Ruby app - provides you with a web page that's a 'default form' along with the related MVC code. It's similar to other frameworks that provide default pages from ORM mapped classes in other languages, but I thought it was Ruby, rather than Rails, that was getting people excited.
I'm an 'SQL' guy myself and I'm not convinced by ORM tools - or at least the way they're being hyped as a solution for having to understand the DB (Newsflash : SQL is supposed to be an abstract query language so that the developer doesn't need to understand the DB - and look how that worked - answer : Mostly it does, but when it goes wrong you're dealing with a black box). I also think that the view of many Java (and Ruby) developers that a DB provides 'persistence' is wrong. It's a failure to understand relational theory - which at least, unlike most object modelling techniques, has a firm mathematical foundation. It's also a failure to use the tools provided to you (and when Bruce Tate complains about Java productivity, this tendency of Java developers might be part of the problem - it's 'not invented here' syndrome).
You could have used Ruby rather than PHP (a comparison I'd like to see) and I also think that there is much to be said for the MVC structure compared to shoving everything into each page.
It feels a bit clunky in the current paradigm (pages generated on the server and refreshed to the client, client events sent to server) but it works very well as a design, and I can see it becoming more important again as browser apps support more dynamic features - getting back more towards a client-server architecture with the model on the server, view on the client. (Or more likely a local model for performance and some form of background syncing).
I think Bruce Tate's 'Beyond Java' outlines the problem with the current manifestation of VB - MS have reacted to EXTERNAL criticism of VB from non-VB developers, and tried to impose C++/Java like structure onto VB.
I think teaching programming with a teaching language is important - I took the root from BASIC on a variety of 8-Bit platforms through PASCAL and then Modula-2 - and currently do most of my development in a flavour of ADA. There's a logical path through those languages in that syntactically they are similar, but each one adds on more structure.
I think that is the difficulty most experienced developers have in coming back down to beginners level again - we worry about the architecture of our systems and programs from the off, because experience tells us it will matter later - but it is worth comparing 'Hello World' in Java and BASIC to remind yourself of the cost in terms of complexity. Picture yourself explaining it to a complete newcomer.
The problem is that far too often, commercial development has tried to come to the beginner - i.e. BASIC and PASCAL as commercial development languages in the 80s - rather than making it clear that these are learning tools.
Not sure about teaching C++ over, say, Java. Obj-C makes far more sense to me as an OO extension of C, but is barely used outside Apple/GnuStep, but some of it's concepts have filtered into Java and C#. It might actually be better to teach OO with, again, a language focused at teaching rather than enterprise development - a Smalltalk dialect? C++ was the reason so many Windows developers stuck with VB and TurboPascal.
Never mind, I'm sure it attracted thousands of hits to ZDNet. I've quit my subscription to their mailout because it's become an endless stream of controversy courting low-content articles.
I'm just glad that his wife could see past his physical disfigurement to the human being underneath - unless the accident occurred after they had kids?
It's that good old 'total cost of ownership' - for the two categories you identified the answer is 'lower', but for many people lacking in IT skills it is a more complex calculation - especially in places where their IT support is already contracted out. O/S actually needs to come in and compete in these environments, rather than expecting them to become IT literate.
Advocates need to consider the many places in their lives where they purchase things rather than make or maintain them themselves - for many people without interest in technology, software is in that category - we live in a society where people pay a premium for ready-made meals, despite the repeated message they could save money by making their own.
I think you've hit on a number of excellent points there.
I'd like to add the following. Teachers don't cook the meals in the school kitchens, or paint the school buildings, or more relevantly develop their own textbooks.
IT has long since passed out of the domain of the IT teachers to become part of the school infrastructure. Most schools contract in their IT maintenance - my Dad can't (officially) do anything with his computers without having a technician drive out. Generally speaking these guys even restrict support to particular brands of PC - ones from governmentally recommended educational suppliers.
That means the root to tackling this is through suppliers - you need to be able to offer a complete package to schools - server, network, desktops and training - that beats the Windows or OS/X competition. There's at least one district in the UK where such a firm exists and is doing well. There is also one secondary school that is offering support services to the feeder junior schools (if you think about it, support becomes a service you can sell to other schools).
The problem you've got is the development of curriculum specific software - I've looked at FOSS stuff for my wife, who is a languages teacher, and while there is stuff that's technically good, adding the curriculum content is down to the teachers - which means it's not going to happen. I think this is an issue that will continue to hold FOSS back - video editing and DVD authoring packages exist and are as powerful as their proprietary equivalents, but don't yet come with the packaged themes, etc, that you get with, say, iLife. That's the fluff that doesn't interest software developers but is really useful to teachers and consumers. (It's worth looking how many people even use a non-default font in Word to understand how teachers use software).
Most of the FOSS packages are also available on Windows and OS/X - my wife's school maintains a web page alerting parents and pupils to the availability of Inkscape, Gimp, Open Office and NVU amongst others. That availability actually cuts down any reason to migrate to Linux - if they were only available on Linux that would be a powerful argument to switch, as you could cut a swathe of software licences. As is, you can have Windows machines to run proprietary software and benefit from FOSS - and I think you'd have an impossible task persuading a Mac advocate to switch to Linux, seeing as they've already argued themselves into the paying MORE for their hardware.
Again, as with the comments on selling a complete package to schools, and your comment about lack of awareness, perhaps what's needed is someone to come up with a Red Hat like model to market and sell an iLife style educational FOSS package to schools - they should be able to drastically undercut existing suppliers. That may actually be the key point - Dell, Apple, Adobe and the life are actively out there looking for educational sales, whereas FOSS doesn't really have a lot of marketing to reach the educational decision makers - who aren't always teachers.
On your final point, I'd respectfully disagree - I'm not so sure the younger generation will be OSS aware. I'd wager the younger generation are actually more likely, when you say 'computer' to think of a Windows machine - and the sad fact is that more people still pirate Illustrator than run Inkscape. The key to that will be when FOSS programs become more like Firefox - i.e. people think of it as 'a (superior) alternative to IE' rather than 'a free copy of IE'. They need to become better, not just cheaper.
You hit on the issue with 'paying someone in-house capable of maintaing the applications by developing/updating/upgrading the software themselves'.
Many schools don't even have anyone in-house who can do that with their existing systems, but some technicians with an MCSE qualification (and without being rude, due to the low salaries they are not always the best MCSE staff). The IT functions of the school have long been pulled away from the IT teaching staff.
Quite often an IT policy is actually dictated at a higher level (LEA in the UK) who offer support and purchasing services for a limited number of suppliers - hardware and software. The whole reason this strategy has been pushed on schools is because it lowers cost than each individual school running it's own support (and policy).
You're also probably over-estimating the amount of use of support that goes on in schools. If an app doesn't work, it doesn't get logged and fixed, it just gets avoided, or that feature gets avoided. Teachers time is also a very expensive resource - hence why IT teachers no longer also administer the schools they work in. There's also the issue of NOT tying yourself in to a single knowledgeable person, which is where a lot of schools were, and why they were sold on the idea of buying IT in as a service,
much the same way as their canteens moved from places that prepared and cooked their own meals, to places that warmed up pre-cooked ready meals shipped in by catering companies.
(In fact at my wife's school the IT teacher maintains a web page pointing staff, parents and pupils at Inkscape, OpenOffice, GIMP, et al, while the school continues to use Office as a standard format for read-only documents).
What's basically needed are companies to target IT infrastructure and support and to sell those services to schools at a lower cost that the Windows alternative - there is at least one area in the UK doing this (they come in and install a server, and offer desktop support). If you can't actually do it without having to have Linux skills within the school, it's a non-starter.
Finally, there is the question of software. My father, an art teacher, successfully resisted having his department moved to Windows due to the lack of art software at the time (late 80s when PCs had 16 colour displays, compared to the Atari ST and Commodore Amiga systems they were using). Not surprisingly, he now uses Macs - on which he runs some FOSS applications - but the Apple software, especially at educational discount rates, strikes him as a reasonable purchase.
Linux advocates need to understand that in places that is the correct decision, and think how they respond when the place they work threatens to standardise on Windows or Apple - what we desperately need is a return to the diversity of the 80s.
From my understanding of Ruby, the ability to inject security, or logging, into existing classes via meta-programming, rather than refactoring or complex frameworks like Spring, is one of the things people get excited by.
Be interesting to see if this is what Part 2 will demonstrate.
I suspect one issue is simply that the BBC don't have GLOBAL rights to programs they broadcast, only UK ones, and therefore have to be seen to be making an effort to restrict viewing to territories in which they are allowed to broadcast. There's also the fact that it can't SELL programs (directly anyway - it can resell via DVD). For UK viewers this service is 'free' because they've already paid. It's easy to break anyway.
Looking at Mindawn, it looks like it must have something (at least in the player software if not in the download files) - talk of files deleting after 3 preview plays. Not all Linux users have a problem running proprietary or closed-source software ON Linux . . . but I guess most home/hobby users would.
As I've posted several times in the past 2 weeks, the current No.1 UK album is available for commercial download on MP3 (192-320 VBR) with no DRM - and yet despite the fact that kids can freely copy these tunes, and that many of their songs had been available on MP3 for the last year, they still got the record for the fastest selling debut album in chart history.
('Despite' may be the wrong word - many commentators have talked about how they built their fanbase from MP3s being passed around on sites like myspace, et al).
Along with likes of Franz Ferdinand and White Stripes, both of whom have enjoyed multi-platinum sales in the UK - although mostly of physical CDs.
OK, so it's not OGG, which is going to alienate some people who won't have MP3 on their machines, but it's proof commercial MP3 can work.
I think part of it is the way Playlouder targets a specific market - http://www.bleep.com/, for instance, appears to use the same engine but is oriented towards electronic music fans rather than indie fans. You might not recognise most of the artists, but the biggest acts in those genres are represented, which makes both sites seem less like 'a list of bands you've never heard of'.
You can have trade and free trade and competition without capitalism (as open source shows and you outline above - open source projects can compete with each other for innovation) - you can also have capitalism without free trade.
Capitalism refers to a system of investment and return - about investing in the means of production or distribution. The story told about capitalism driving innovation is just positive PR - people used to invest in slave-trading and piracy (or privateers, if they were from your country). Indie record labels are generally no different from the majors in WHAT they do - the owner of the label funds recording, advertising and distribution, in the hope of making a return, but generally differ in HOW and WHY they do it. I'd say that Linux businesses generally differ in WHAT they do from proprietary software businesses - either they've good at selling consultancy (IBM) or they're good at branding a near-free product (Red Hat) - the Coca Cola model. (Of course much of Linux and FOSS software isn't a business at all).
Don't disagree with it - it makes huge sense to see p2p as a form of broadcasting, but it's a step up from free. It requires a social change in most peoples behaviour.
It has the great advantage that you still have a law and body stopping the commercial usage of music too (ASCAP, BMI, etc, also existing to collect royalties from use of music in adverts, nightclubs, etc) - and also allow artists to decline to have their music used to advertise or promote things they disagree with (I know people who have turned down a 6 figure sum because they do not want their music used in adverts at all).
$5 a month also sounds very reasonable (would be cheaper than what I currently pay) but I do wonder what the fee will work out though once you add in TV, film, books, scientific journals, and on towards anything that can be stored digitally - especially as some of those media are far more expensive than music to produce. The 'pain' point may still be higher than most people are willing to bear for the quality of service they (say) they want. People in the UK, for instance, complain about the cost of the TV licence, and that only covers BBC TV and radio.
Also, having worked in the nightclub industry and knowing how that works (in terms of getting a sample of music played in order to pay artists). The nightclub industry basically just operates a cut-off - so while a club playing blues music pays it's MCPS royalty to allow the venue to play music, about zero percent goes to the artists. Obviously technology will help in this but I'd be very interested to see how it will work towards the bottom - it will tend towards being highly accurate at the top, and wildly fluctuating on things getting maybe 20 downloads a month.
Another caveat is what's implied in the EFF comments on the software industry - the reality is that most of it has moved onto proprietary games consoles featuring some form of DRM. The movie industry has also benefited from something similar in DVD, and has become increasingly litigious as their new toy has been threatened - and of course wants to make sure that any replacement works even more in their favour. So I'm not entirely sure those industries have adapted to the realities of file-sharing so much as shown a bad example to the music industry. The movie industry also shows some other negative trends - i.e. increasing use of product placement and cross-marketing to subsidise film making.
Me too, but I merely wanted to outline that most people have a contradictory stance on both issues - they want the positive outcome so long as it doesn't involve them changing their behaviour. Nor, seeing as I'm downloading a torrent of a TV show right now, are the RIAA the only organisation impacted. Moving to a culture of voluntary payment, for instance, could be a great step forward, but would require a change in behaviour in our society - one that would probably be positive overall. Ditto, people taking responsibility for their own environmental impact would almost certainly be better for the environment than waiting for laws to be passed, but very few do so. Tipping, on the other hand, is something most people do. Is that because it's a public transaction?
One thing I do like about the RIAA, et al, is that these organisations getting in the way of commercial radio, advertisers, crap TV and movies and all the other people that would commercially exploit music for their own benefit if there was nothing to legally stop them. I don't like the idea of someone being prevented from using music they've bought in their own movies, mix-tapes, sharing with their family. That tells me that it's something to do with commercialism and scale - and that whatever change in law is required needs to protect the artists right to say 'No' to commerce.
Or perhaps the media has chosen to focus on the extremists, while most of us behave in a contradictory way - 'I want artists to get paid, but I like free downloads' and 'I'd like to prevent global warming, so long as it means donating to charity once a year, and not cutting down on my car / air travel'.
SUSE looks to be offering a LOT that OS-X does, especially with Novell's claim to have invested a lot of time in usability testing - and Novell still have a good name in corporate circles. There's also the possibility that it may actually evolve faster going forward. At the very least it will be good for Apple to have some REAL competition, rather than Microsoft catching up every 5 years.
Lest we forget, the only reason everyone uses Windows today is because large corporations did in the 80s, not because it won in the home market. (And Apple continue to blow sales by not even allowing ONE other firm to supply OS-X based machine - which immediately writes them out of many contracts).
And I'm typing this on my Mac.
Cheers. Found the following list of apps that do use WebKit (although confusingly it also includes some WebCore) - more than you'd think.
c ations_using_WebKit
http://wiki.opendarwin.org/index.php/WebKit:Appli
Thanks for the clarification of my confusion - that's what you get for not cross-checking.
c ations_using_WebKit
I've found the following list of apps that do use WebKit (although confusingly it also includes some WebCore).
http://wiki.opendarwin.org/index.php/WebKit:Appli
Presumably that means that other WebKit based software should also pass - the latest build of Shira looks like it does.
Not tested any others but I'm sure Xylescope, TextMate and OmniBrowser all use WebKit too.
I do think the mathematical foundation helps - ignoring SQL itself (Date and Darwen would love to replace it) what it boils down to are set operations, which in turn can be translated into logical ones. For me, relational seems to come from the standpoint of 'if we can cast data structure into set theory, then we have this whole body of knowledge that we can apply'. I even tend to forget this myself - writing a complex sub-query before remembering the 'MINUS' set operator exists.
That said, I may have come across as too anti-OO - I'm not at all. It's obviously a fantastic answer for dealing with certain programming problems - GUI interfaces spring to mind as a start. As someone else hinted in another reply, in relationland we talk about the set of CHAIRS and in OO we are more interested in a CHAIR and it's behaviour. Both are valid answers to different problems, it's just deciding which one is the MAIN problem of your app.
What I've seen so far is pretty cool (been playing with it at home, but only following tutorials rather than trying ti build something of my own) - and the whole thing (Ruby and Rails) does, indeed, seem to have the 'elegance' that good programmers love.
.NET solution they will have gone somewhere else).
What I was interested in was how many of those advantages are Ruby (gems and the syntax are) and how many are Rails (MVC).
I brought up the ORM thing though because the whole thread is about ActiveRecord and reading some Ruby community blogs, inc. DHH's, there seems to be a hostility towards relational databases - I sense that some OO developers see them as a 'problem' that can be solved (many are probably too young to remember the problem that relational databases DID solve).
My view is that an RDBMS is a solution, just as OO is a solution, and functional programming is a solution (concurrency). The key thing, of course, is understanding what your problem is, while programmers will often start with their tool, and cast the problem to fit. (I am as guilty of that as anyone - we don't re-evaluate our tools every project, and often people come to us because of our experience in language X - if they wanted a
I guess compared to Java, SQL is still far less portable (in syntax and implementation), so I can see why it causes pain if you are used to writing in portable languages. (If you're willing to ignore all the 'avoid X as doesn't work on Tomcat' type stuff).
Definitely about time for a better relational language to emerge - SQL was, after all, just the first go, rather than definitive. I presume you've seen Date and Darwen's Third Manifesto?
http://www.thethirdmanifesto.com/
I think that would certainly be one solution - something that worked as an object database for OO developers but allowed relational access (afterall, the point of SQL is that it should be independent of the underlying implementation). You'd effectively be putting the object-relational mapping on the other side. I can see a lot of advantages in this approach - you could integrate better with multiple OO languages - i.e. define your class in something akin to UML and spit out Java, Ruby, ActionScript, etc variations - and of course you could change the implementation of the D/B model without affecting the calling code. (You could already manually achieve something like this).
.5 seconds. (It's not rocket science as to why - it's always going to be quicker to parse an essentially fixed and flat record structure than a variable nested one).
I'd also agree entirely with your last point - it's pretty much what Bruce Tate is getting at in 'Beyond Java' - that RoR is a better solution for the 'web page in front of d/b' type app which is the vast majority of apps out there - if what you want IS just object persistence then an object database is probably a better answer than an RDBMS.
The corollary to this is that in some cases, Java is more appropriate than Ruby, and in some cases a properly designed relational D/B is the correct solution - in the last two years I've seen someone take the 'objects serialised as XML' approach, which made sense for the initial requirement, then 3 months later the client wanted a summary of an attribute contained on a bottom node of the XML, across hundreds of objects. Ran like a dog (as in 20-30 seconds). Once we mapped it into the database the query took
I agree with the first point - that's what an ORM should be used for. What I'm seeing is a tendency in some quarters to hope that you can just use an ORM and not have to deal with the database at all. I'd like to see more use of object databases - they seem a logical answer when people are using a d/b for nothing more than storing/querying objects - but they have their disadvantages - there are some things that are trivially easy in a relational system that are complex in OO - generally group ops.
I can still see the benefit of ORM even if SQL did deliver on it's promise, because there is so much repetition in mapping tables to classes, that it looks like an area ripe for automation.
.NET languages, Ruby, etc, as the D/B changes - but that might be because I see more systems with multiple languages in front, than systems with multiple D/B behind).
However I do think that even if SQL was absolutely standard, there would still be issues (and thus issues in any abstract layer based on top of it). If the vendors could make their SQL always take the most performant path possible, they would - the problem is the age-old one of trying to get a computer to choose the most appropriate algorithm for a task - you can use heuristics and get a pretty good match most of the time (and an ORM layer will also do this) but if you could do it 100% of the time - we'd be out of a job. (Once we get a real AI then it might happen).
What concerns me is when developers seek to turn things from time-savers (replacing tedious repetitious work that they do understand) into a replacement for problem-solving - 'well, we don't need to worry about that layer any more'.
(One thing I think would be useful would be an ORM layer to spit out classes for Java, the
Which bit is causing you the problem - Ruby or Rails? My understanding is that Rails is simply providing, well, Rails to give you a rapid framework for your Ruby app - provides you with a web page that's a 'default form' along with the related MVC code. It's similar to other frameworks that provide default pages from ORM mapped classes in other languages, but I thought it was Ruby, rather than Rails, that was getting people excited.
I'm an 'SQL' guy myself and I'm not convinced by ORM tools - or at least the way they're being hyped as a solution for having to understand the DB (Newsflash : SQL is supposed to be an abstract query language so that the developer doesn't need to understand the DB - and look how that worked - answer : Mostly it does, but when it goes wrong you're dealing with a black box). I also think that the view of many Java (and Ruby) developers that a DB provides 'persistence' is wrong. It's a failure to understand relational theory - which at least, unlike most object modelling techniques, has a firm mathematical foundation. It's also a failure to use the tools provided to you (and when Bruce Tate complains about Java productivity, this tendency of Java developers might be part of the problem - it's 'not invented here' syndrome).
You could have used Ruby rather than PHP (a comparison I'd like to see) and I also think that there is much to be said for the MVC structure compared to shoving everything into each page.
It feels a bit clunky in the current paradigm (pages generated on the server and refreshed to the client, client events sent to server) but it works very well as a design, and I can see it becoming more important again as browser apps support more dynamic features - getting back more towards a client-server architecture with the model on the server, view on the client. (Or more likely a local model for performance and some form of background syncing).
I think Bruce Tate's 'Beyond Java' outlines the problem with the current manifestation of VB - MS have reacted to EXTERNAL criticism of VB from non-VB developers, and tried to impose C++/Java like structure onto VB.
I think teaching programming with a teaching language is important - I took the root from BASIC on a variety of 8-Bit platforms through PASCAL and then Modula-2 - and currently do most of my development in a flavour of ADA. There's a logical path through those languages in that syntactically they are similar, but each one adds on more structure.
I think that is the difficulty most experienced developers have in coming back down to beginners level again - we worry about the architecture of our systems and programs from the off, because experience tells us it will matter later - but it is worth comparing 'Hello World' in Java and BASIC to remind yourself of the cost in terms of complexity. Picture yourself explaining it to a complete newcomer.
The problem is that far too often, commercial development has tried to come to the beginner - i.e. BASIC and PASCAL as commercial development languages in the 80s - rather than making it clear that these are learning tools.
Not sure about teaching C++ over, say, Java. Obj-C makes far more sense to me as an OO extension of C, but is barely used outside Apple/GnuStep, but some of it's concepts have filtered into Java and C#. It might actually be better to teach OO with, again, a language focused at teaching rather than enterprise development - a Smalltalk dialect? C++ was the reason so many Windows developers stuck with VB and TurboPascal.
Never mind, I'm sure it attracted thousands of hits to ZDNet. I've quit my subscription to their mailout because it's become an endless stream of controversy courting low-content articles.
I'm just glad that his wife could see past his physical disfigurement to the human being underneath - unless the accident occurred after they had kids?
It's that good old 'total cost of ownership' - for the two categories you identified the answer is 'lower', but for many people lacking in IT skills it is a more complex calculation - especially in places where their IT support is already contracted out. O/S actually needs to come in and compete in these environments, rather than expecting them to become IT literate.
Advocates need to consider the many places in their lives where they purchase things rather than make or maintain them themselves - for many people without interest in technology, software is in that category - we live in a society where people pay a premium for ready-made meals, despite the repeated message they could save money by making their own.
I think you've hit on a number of excellent points there.
I'd like to add the following. Teachers don't cook the meals in the school kitchens, or paint the school buildings, or more relevantly develop their own textbooks.
IT has long since passed out of the domain of the IT teachers to become part of the school infrastructure. Most schools contract in their IT maintenance - my Dad can't (officially) do anything with his computers without having a technician drive out. Generally speaking these guys even restrict support to particular brands of PC - ones from governmentally recommended educational suppliers.
That means the root to tackling this is through suppliers - you need to be able to offer a complete package to schools - server, network, desktops and training - that beats the Windows or OS/X competition. There's at least one district in the UK where such a firm exists and is doing well. There is also one secondary school that is offering support services to the feeder junior schools (if you think about it, support becomes a service you can sell to other schools).
The problem you've got is the development of curriculum specific software - I've looked at FOSS stuff for my wife, who is a languages teacher, and while there is stuff that's technically good, adding the curriculum content is down to the teachers - which means it's not going to happen. I think this is an issue that will continue to hold FOSS back - video editing and DVD authoring packages exist and are as powerful as their proprietary equivalents, but don't yet come with the packaged themes, etc, that you get with, say, iLife. That's the fluff that doesn't interest software developers but is really useful to teachers and consumers. (It's worth looking how many people even use a non-default font in Word to understand how teachers use software).
Most of the FOSS packages are also available on Windows and OS/X - my wife's school maintains a web page alerting parents and pupils to the availability of Inkscape, Gimp, Open Office and NVU amongst others. That availability actually cuts down any reason to migrate to Linux - if they were only available on Linux that would be a powerful argument to switch, as you could cut a swathe of software licences. As is, you can have Windows machines to run proprietary software and benefit from FOSS - and I think you'd have an impossible task persuading a Mac advocate to switch to Linux, seeing as they've already argued themselves into the paying MORE for their hardware.
Again, as with the comments on selling a complete package to schools, and your comment about lack of awareness, perhaps what's needed is someone to come up with a Red Hat like model to market and sell an iLife style educational FOSS package to schools - they should be able to drastically undercut existing suppliers. That may actually be the key point - Dell, Apple, Adobe and the life are actively out there looking for educational sales, whereas FOSS doesn't really have a lot of marketing to reach the educational decision makers - who aren't always teachers.
On your final point, I'd respectfully disagree - I'm not so sure the younger generation will be OSS aware. I'd wager the younger generation are actually more likely, when you say 'computer' to think of a Windows machine - and the sad fact is that more people still pirate Illustrator than run Inkscape. The key to that will be when FOSS programs become more like Firefox - i.e. people think of it as 'a (superior) alternative to IE' rather than 'a free copy of IE'. They need to become better, not just cheaper.
You hit on the issue with 'paying someone in-house capable of maintaing the applications by developing/updating/upgrading the software themselves'. Many schools don't even have anyone in-house who can do that with their existing systems, but some technicians with an MCSE qualification (and without being rude, due to the low salaries they are not always the best MCSE staff). The IT functions of the school have long been pulled away from the IT teaching staff. Quite often an IT policy is actually dictated at a higher level (LEA in the UK) who offer support and purchasing services for a limited number of suppliers - hardware and software. The whole reason this strategy has been pushed on schools is because it lowers cost than each individual school running it's own support (and policy). You're also probably over-estimating the amount of use of support that goes on in schools. If an app doesn't work, it doesn't get logged and fixed, it just gets avoided, or that feature gets avoided. Teachers time is also a very expensive resource - hence why IT teachers no longer also administer the schools they work in. There's also the issue of NOT tying yourself in to a single knowledgeable person, which is where a lot of schools were, and why they were sold on the idea of buying IT in as a service, much the same way as their canteens moved from places that prepared and cooked their own meals, to places that warmed up pre-cooked ready meals shipped in by catering companies. (In fact at my wife's school the IT teacher maintains a web page pointing staff, parents and pupils at Inkscape, OpenOffice, GIMP, et al, while the school continues to use Office as a standard format for read-only documents). What's basically needed are companies to target IT infrastructure and support and to sell those services to schools at a lower cost that the Windows alternative - there is at least one area in the UK doing this (they come in and install a server, and offer desktop support). If you can't actually do it without having to have Linux skills within the school, it's a non-starter. Finally, there is the question of software. My father, an art teacher, successfully resisted having his department moved to Windows due to the lack of art software at the time (late 80s when PCs had 16 colour displays, compared to the Atari ST and Commodore Amiga systems they were using). Not surprisingly, he now uses Macs - on which he runs some FOSS applications - but the Apple software, especially at educational discount rates, strikes him as a reasonable purchase. Linux advocates need to understand that in places that is the correct decision, and think how they respond when the place they work threatens to standardise on Windows or Apple - what we desperately need is a return to the diversity of the 80s.
From my understanding of Ruby, the ability to inject security, or logging, into existing classes via meta-programming, rather than refactoring or complex frameworks like Spring, is one of the things people get excited by.
Be interesting to see if this is what Part 2 will demonstrate.
I suspect one issue is simply that the BBC don't have GLOBAL rights to programs they broadcast, only UK ones, and therefore have to be seen to be making an effort to restrict viewing to territories in which they are allowed to broadcast. There's also the fact that it can't SELL programs (directly anyway - it can resell via DVD). For UK viewers this service is 'free' because they've already paid. It's easy to break anyway.
Looking at Mindawn, it looks like it must have something (at least in the player software if not in the download files) - talk of files deleting after 3 preview plays.
Not all Linux users have a problem running proprietary or closed-source software ON Linux . . . but I guess most home/hobby users would.
As I've posted several times in the past 2 weeks, the current No.1 UK album is available for commercial download on MP3 (192-320 VBR) with no DRM - and yet despite the fact that kids can freely copy these tunes, and that many of their songs had been available on MP3 for the last year, they still got the record for the fastest selling debut album in chart history.
('Despite' may be the wrong word - many commentators have talked about how they built their fanbase from MP3s being passed around on sites like myspace, et al).
UK Top 40 http://www.bbc.co.uk/radio1/chart/albums.shtml/ - link probably only relevant this week, although they've been at the top for a couple of weeks now.
Available,on 192-320 VBR MP3 from :
http://www.playloudershop.com/
Along with likes of Franz Ferdinand and White Stripes, both of whom have enjoyed multi-platinum sales in the UK - although mostly of physical CDs.
OK, so it's not OGG, which is going to alienate some people who won't have MP3 on their machines, but it's proof commercial MP3 can work.
I think part of it is the way Playlouder targets a specific market - http://www.bleep.com/, for instance, appears to use the same engine but is oriented towards electronic music fans rather than indie fans. You might not recognise most of the artists, but the biggest acts in those genres are represented, which makes both sites seem less like 'a list of bands you've never heard of'.
Not really.
You can have trade and free trade and competition without capitalism (as open source shows and you outline above - open source projects can compete with each other for innovation) - you can also have capitalism without free trade.
Capitalism refers to a system of investment and return - about investing in the means of production or distribution. The story told about capitalism driving innovation is just positive PR - people used to invest in slave-trading and piracy (or privateers, if they were from your country). Indie record labels are generally no different from the majors in WHAT they do - the owner of the label funds recording, advertising and distribution, in the hope of making a return, but generally differ in HOW and WHY they do it. I'd say that Linux businesses generally differ in WHAT they do from proprietary software businesses - either they've good at selling consultancy (IBM) or they're good at branding a near-free product (Red Hat) - the Coca Cola model.
(Of course much of Linux and FOSS software isn't a business at all).
Don't disagree with it - it makes huge sense to see p2p as a form of broadcasting, but it's a step up from free. It requires a social change in most peoples behaviour.
It has the great advantage that you still have a law and body stopping the commercial usage of music too (ASCAP, BMI, etc, also existing to collect royalties from use of music in adverts, nightclubs, etc) - and also allow artists to decline to have their music used to advertise or promote things they disagree with (I know people who have turned down a 6 figure sum because they do not want their music used in adverts at all).
$5 a month also sounds very reasonable (would be cheaper than what I currently pay) but I do wonder what the fee will work out though once you add in TV, film, books, scientific journals, and on towards anything that can be stored digitally - especially as some of those media are far more expensive than music to produce. The 'pain' point may still be higher than most people are willing to bear for the quality of service they (say) they want. People in the UK, for instance, complain about the cost of the TV licence, and that only covers BBC TV and radio.
Also, having worked in the nightclub industry and knowing how that works (in terms of getting a sample of music played in order to pay artists). The nightclub industry basically just operates a cut-off - so while a club playing blues music pays it's MCPS royalty to allow the venue to play music, about zero percent goes to the artists. Obviously technology will help in this but I'd be very interested to see how it will work towards the bottom - it will tend towards being highly accurate at the top, and wildly fluctuating on things getting maybe 20 downloads a month.
Another caveat is what's implied in the EFF comments on the software industry - the reality is that most of it has moved onto proprietary games consoles featuring some form of DRM. The movie industry has also benefited from something similar in DVD, and has become increasingly litigious as their new toy has been threatened - and of course wants to make sure that any replacement works even more in their favour. So I'm not entirely sure those industries have adapted to the realities of file-sharing so much as shown a bad example to the music industry. The movie industry also shows some other negative trends - i.e. increasing use of product placement and cross-marketing to subsidise film making.
Me too, but I merely wanted to outline that most people have a contradictory stance on both issues - they want the positive outcome so long as it doesn't involve them changing their behaviour.
Nor, seeing as I'm downloading a torrent of a TV show right now, are the RIAA the only organisation impacted.
Moving to a culture of voluntary payment, for instance, could be a great step forward, but would require a change in behaviour in our society - one that would probably be positive overall.
Ditto, people taking responsibility for their own environmental impact would almost certainly be better for the environment than waiting for laws to be passed, but very few do so.
Tipping, on the other hand, is something most people do. Is that because it's a public transaction?
One thing I do like about the RIAA, et al, is that these organisations getting in the way of commercial radio, advertisers, crap TV and movies and all the other people that would commercially exploit music for their own benefit if there was nothing to legally stop them. I don't like the idea of someone being prevented from using music they've bought in their own movies, mix-tapes, sharing with their family. That tells me that it's something to do with commercialism and scale - and that whatever change in law is required needs to protect the artists right to say 'No' to commerce.
Or perhaps the media has chosen to focus on the extremists, while most of us behave in a contradictory way - 'I want artists to get paid, but I like free downloads' and 'I'd like to prevent global warming, so long as it means donating to charity once a year, and not cutting down on my car / air travel'.