Slashdot Mirror


What Makes an OSS Class Work?

AnimalCoward writes "I teach a Continuing Education courses in OO programming at our local state university. An email was just sent out from the program director asking if any instructors were interested in developing, and teaching, a course in OSS. My question to the slashdot crowd is: What would you want to see in an OSS class? What should be included? Should I bring up all the discussions about liability and multiple OSS licenses? The request didn't state it, but from experience I believe the students would have a programming background ranging from only mainframes to C++ to those with some Java experience."

246 comments

  1. Be sure to include..... by Anonymous Coward · · Score: 0, Troll

    How to beg for money.... It will come in handy for all OSS programmers....

    1. Re:Be sure to include..... by rovingeyes · · Score: 4, Informative

      Even though you are trying to sound funny, I think two sections - "How to sell an idea" and "How to develop a business plan" will probably be invaluable. The key to success of an OSS is how much you can get funding in VC and how long you can keep them happy. Obviously this means profiting from the business model surrounding the product. So not only do you have to be a good at marketing yourself or the product, but you should have some business sense to make that project a success.

    2. Re:Be sure to include..... by Anonymous Coward · · Score: 1, Interesting

      We have a dedicated Software Engineering degree (not a single course) where marketing is one of the courses (1 semester only, though).

      Not that there is much to be expected from it; it's the same senseless unrealistic bullshit that is common for all courses I visited so far.

    3. Re:Be sure to include..... by Anonymous Coward · · Score: 1, Insightful

      The key to success of an OSS is how much you can get funding in VC (...)

      Are you sure? How about writing good software and inspiring others to help you do so?

      Couldn't that also mean your OSS project is a success?

  2. Fundementals by rovingeyes · · Score: 5, Insightful

    May be I am naive, but what else would you discuss in an OSS class except philosophy, legal, ethical and practicality arguments behind OSS? As far as I am concerned, it doesn't matter what programming language background the student has; because OSS class should not be about programming but every thing else surrounding it. For e.g. copyright law and how it relates to OSS, what are different OSS licenses and why are there so many? How can one create their own license and still maintain the spirit of OSS? And frankly the most important question this class should address is - WHY OSS?. I believe that between all the hoopla surrounding OSS, people have stopped asking the fundemental question.

    1. Re:Fundementals by Anonymous Coward · · Score: 2, Insightful

      What else you ask?

      Uhhh, I just thought of an important one. What about "how to make money?"

    2. Re:Fundementals by sameb · · Score: 4, Interesting

      Indeed. A class on OSS is a business, legal or philosophy class, not a programming class. That doesn't mean CS students shouldn't have an OSS class, but if they do it certainly wouldn't be a programming one.

      If you want to do a programming class, use whatever code makes sense in teaching kids how to program. If you want to teach about how to use existing libraries while programming, make that an assignment -- ie, have an assignment that requires building a servlet, or making an http connection, or using various collection utilities.

      One problem with many college CS classes is that they ignore existing libraries. Yes, students need to learn how to do a bubble sort and build a linked list and prevent collisions in hash maps... but, students should realize and understand that it is often counter-productive to build these utilities themselves, especially when the existing ones are so widely used (meaning they're heavily documented and debugged).

    3. Re:Fundementals by Zphbeeblbrox · · Score: 1

      What else would you discuss? Well the philosophy, legal, ethical, and practical business applications are indeed some of the things to discuss. But OSS is a Development Model of sorts also. I would cover managing an OSS Project effectively and how to effectively participate in an OSS project. People think it's only a philosophy but it's also a methodology in some ways.

      Distributed collaborative development, maintaining a projects vision in a completely open system, patch management. All of these are issues that while not unique to OSS are handled differently in OSS.

      Another poster above us said how to beg for money (kind of tongue in cheek) but I would suggest possibly covering the various ways to get corporate sponsorship and the ramifications of that. And covering ways to make money in OSS. Possibly that would help to clear the fog for a lot of people and not just coders either. I agree with the parent post. It's not necessarrily just a coding class. In fact I think you could have a couple. One for IT Managers in training and one for programmers.

      --
      If you see spelling or grammatical errors don't blame me. I tried to preview but IE here at work borked the CSS
    4. Re:Fundementals by LetterRip · · Score: 1

      I'd suggest a discussion of collaboration tools (source management, wikis, mailing lists, irc, message boards), organization structures (Foundation based, business based, person based), distribution models (distros, install packages, source only), cross platform development, funding models (support, documentation, packaging, donations, none) and cross cultural issues (language tools and internationalization, different legal environments for patents and copyright).

      LetterRip

    5. Re:Fundementals by chris+macura · · Score: 5, Insightful

      Lecture 1: OSS. What is it, where is it, and why is it.
      Lecture 2: Types of licenses, when to use which.
      Lecture 3: How to modify the licenses to allow for various common changes
      Lecture 4: Writing documentation: intro to man-pages (how to write them), doxygen, and latex
      Lecture 5: Writing readable code: commenting, dependencies, and the merits of white-space
      Lecture 6: How to use OSS in CSS (closed-source software), when it may/may not be done.
      Lecture 7: How to use versioning systems: CVS, SVN, etc.
      Lecture 8: -+
                    9: +-- Communication Skills: technical writing (not the bullshit they teach you in english 101)
                  10: -+
      Lecture 11: Survey of existing projects: why they succedded or failed
      Lecture 12: ditto

      That should cover it. I'm guessing a one/two credit course.

    6. Re:Fundementals by asmussen · · Score: 1

      You could interpret that as falling under 'practicality'.

      --
      Shawn Asmussen
    7. Re:Fundementals by b17bmbr · · Score: 1

      It does matter perhaps what IDE, language, etc. one uses. For instance, wold one use Visual Studio to learn C++ or use Visual Basic? No. But perhaps have them use emacs and develop in C, python, etc. There's a big difference. Should they use a free toolkit or proprietary, be concerned with cross-platform issues, etc. I teach the AP Comp Sci class and I use jedit for the editor. But I also use examples from python and C for comparison. I think you cold have an OSS class that focuses on OSS technologies like developing linux drivers or applications. They can modify the kernel, write a module, whatever. Probably alot easier when you have the code. But what do I know, I can barely compile a kernel, I just rpm -ivh ....

      I always stress good programming first, even though it's not part fo the AP exam. However, there is some debate in the OSS community about java, which I won't get into. But, we are going to be offering an in tro programming class hoepfully next year, and we will not use anything proprietary both from a financial as well as ideoogical position. It's a helluva lot easier to sell a class that costs technically nothing. I'll probably use emacs and python mostly (OO design, both are cross platform) and mix in dynamic html, javascript, and php. That will be my prereq for the AP class of which right now there is none.

      --
      My problem? I was perfectly gruntled, until some numbnuts came by and dissed me.
    8. Re:Fundementals by j1m+5n0w · · Score: 4, Informative
      To that, I might suggest adding
      • how to write portable code
      • how to use make/autoconf in a portable way
      • how to create packages (rpm, deb, tar.gz, etc)
      • how to submit your packages for inclusion in various distros, and how to make things easy for distro maintainers
      • how to obtain feedback from users (bugzilla, mailing lists, forums, wikis, etc...)
    9. Re:Fundementals by greginnj · · Score: 5, Interesting


      What else you ask?
      Uhhh, I just thought of an important one. What about "how to make money?"


      On this point, I think the example of Zope is illustrative. Investor Hadar Pedhazur was willing to pony up venture capital to fund Zope Corporation, on the condition that they open-source Zope. I'm not really a Zope fan, but the idea of an investor requiring a company to open-source their principal asset struck me as a hard-dollar vote for the value of OSS.

      See this for refs:

      http://www.faqs.org/docs/ZopeBook/IntroducingZope. html ("Zope History" section)

      More detail:

      http://washington.bizjournals.com/washington/stori es/1999/05/24/focus4.html

      --
      Read the best of all of Slash: seenonslash.com
    10. Re:Fundementals by Otter · · Score: 1
      As happens every time we get one of these requests, I'm wondering who on earth would want to attend a class like this. Sit through a three hour lecture on whitespace usage? The week after surviving three hours on troff?

      Sorry, I can see the value of devoting one week of lecture(s) to open source/free software: history, philosophy, licenses, examples as part of a larger course. I just can't see it filling a semester. When people need to learn CVS, they can pick it up from the documentation in 15 minutes.

    11. Re:Fundementals by GWBasic · · Score: 1

      Lectures 4, 5, 7, and 8 really need to be part of a mid-level "effective programming / how to program in a team" course. They apply to any project that has more than one programmer.

    12. Re:Fundementals by OpenServe · · Score: 2, Insightful

      And frankly the most important question this class should address is - WHY OSS?

      Absolutely! If people can't answer this question properly, they won't be able to run successful Open Source projects or contribute most effectively to existing ones. Don't forget the biggies:

      - Motivations for OSS. Make sure you provide plenty of business cases and not just the standard fare philosophical / idealist fluff. Open Source is like the invention of the assembly line; it's a new way of doing the same thing, only more efficiently. In the end, it still comes down to making a living, whether directly or indirectly, while doing what you love. We need more Open Source entrepreneurs and not just more hobbyists.

      - What characteristics do successful Open Source projects share? ex.) respected and trustworthy leadership, flexibility / openness to change, easy extensibility, low barriers to outside contributions, friendly networking with existing or related projects, well documented and highly modular code, etc.

      - The importance of open standards. Don't reinvent the wheel unless it really needs to be done. Aim for compatibility and seek out partner projects in embracing and enhancing standards used.

      - The benefits of using existing Open Source licenses. ie.) Don't create an island! Incompatible licenses spoil purpose of Open Source and limit the possibilities of code-sharing both into and out of a project. GPL and LGPL are the most popular licenses for a good reason: they're the most popular licenses. :) GPL is also the best license from a business perspective because it prevents competitors from creating proprietary forks of end-user software. LGPL is the best license from a re-usability perspective, such as for libraries. LGPL code is linkable with code of all other licenses but still protects the covered code from proprietary forks.

    13. Re:Fundementals by SnarfQuest · · Score: 1

      In addition:

      How to make money off OSS projects.

      a) Developement grants.

      b) Donations.

      c) Maintenance contracts.

      d) Creation of Distributions.

      e) etc...

      Location of several OSS Project servers (freshmeat, sourceforge, etc)

      How to search for existing projects before starting new ones.

      How to get involved in existing projects.

      Branching of existing projects. When should you, and how to do it.

      How to look for libraries of code instead of rebuilding functionality from scratch.

      Why you hate C++, and why everyone else should too. In most OSS projects you will find a "I hate C++" diatribe. Even in the C++ projects.

      --
      Who would win this election: Andrew Weiner vs Andrew Weiner's weiner.
    14. Re:Fundementals by Johnny+Mnemonic · · Score: 4, Insightful


      You are obviously forgetting that a great deal of OSS software is produced for Windows and other platforms, such as OS X and etc. The first three suggestions that you have have less to do with OSS, and more to do with Linux/Unix--of which OSS is a huge component, but neither requires the other.

      --

      --
      $tar -xvf .sig.tar
    15. Re:Fundementals by sinewalker · · Score: 1

      Lecture 3 is an interesting one. Many would argue that there are "too many" OSS licenses already. While I don't agree with that, I do feel there is a benefit in using a license that is "OSS Certified" over rolling your own.

      Perhaps this one could focus more on sellecting some of the "less-free" licenses, since many are written for "common" reasons. However, we risk be getting into the realms of a law degree, which is too much focus for a CS student. Very tricky balance there. Actually, perhaps a law professor could help to craft these two lessons better?

      --
      “Our opponent is an alien starship packed with nuclear bombs. We have a protractor.” — Neal Stepnenso
    16. Re:Fundementals by EvilSporkMan · · Score: 1

      One could argue that OSS' goals are best served on open source operating systems. After all, if it's better, why do we give a rat's ass about those inferior closed source operating systems?

      --
      -insert a witty something-
    17. Re:Fundementals by sinewalker · · Score: 1

      I've made some suggestions elsewhere on this story, but actually, the more I think about this, the more I feel you are right.

      It sounds a bit like a "checklist feature" that the faculty head is requesting for his degree offerings. I don't know how it could add to the relevance or effectiveness of the overall degree, especially within the confines of University guidelines.

      More value could be added to the degree by having some practical unit where students contribute to some OSS projects, rather than by having a course devoted to OSS theory. The trickiest part about that though would be marrying the concepts of "open source" to the university precept of "plagerise not". While I would have loved to have worked on an OSS project for my course-work at Uni, I can see it would have been very hard to mark any work I submitted to the project as having been done by me!

      Maybe it would be best to get some sort of credit for working on things like the Google coding challenges, either during a degree or as part of entry selection criteria.

      --
      “Our opponent is an alien starship packed with nuclear bombs. We have a protractor.” — Neal Stepnenso
    18. Re:Fundementals by hackwrench · · Score: 1

      I know how to use CVS to get the firefox trunk, but that's a completely different thing than setting up the repository, Also, when to fork, the relationship of forks to milestones, what happens when you allow anyone access to the versioning system, what levels of access there should be, who gets to commit and when shoud commits be turned off completely for a branch are details I'm not sure reading the CVS documentation will cover in 15 minutes.

    19. Re:Fundementals by ninja_pirate · · Score: 0

      Lectures 4, 5, 7, 8, 9, 10 don't have anything to do with OSS. These are all things that could apply to any kind of software.

    20. Re:Fundementals by bcrowell · · Score: 1

      Lectures 4,5, 7, and 8-10 have nothing to do with OSS in particular. Lectures 1, 2, and 6 are trivial, and could be taught by having them spend half an hour at home reading. Lecture 3 baffles me -- modifying licenses is generally a bad idea (makes you code impossible to share with other projects that use the standard license, and proliferation of licenses is bad). That leaves lectures 11 and 12 -- not much of a course.

    21. Re:Fundementals by smackjer · · Score: 1

      One could also argue that exposure to OSS, even on a closed OS, is a good thing. Especially when said closed OS has a virtually ubiquitous market share.

      --

      This is my sig. There are many like it, but this one is mine.
    22. Re:Fundementals by bogado · · Score: 1

      The first three? Write portable code is not tied to linux, not by definition (if code is tied to unix/linux it does not run in windows thus it is not multiplataform). Multi plataform is quite important, simply because the reason you stated. Being able to run on linux is going to make the software available to most of the comunity that will probably want, or is able, to change it and adapt it, while if there is a windows version it will be available to 90% of the world for whom linux is just another buzzword.

      --
      []'s Victor Bogado da Silva Lins

      ^[:wq

    23. Re:Fundementals by nxtr · · Score: 1

      Lecture 13: ?????
      Lecture 14: Profit!

    24. Re:Fundementals by panaceaa · · Score: 1

      Not to pick on you, but clearly everyone has misunderstood the poster's question. If you wrote all that stuff in a class definition it still would not compile. It would just make for unreadable code and would likely just confuse people that try to make modifications later.

      What would you want to see in an OSS class?

      I like to see a constructor, a destructor (if applicable), and some methods that do something understandable. And some comments are nice, for instance stating what OSS license you're using, but try not to comment about fundamental questions regarding OSS. Remember, with OSS your source code's going to be open -- so try to make it readable, and not like a Usenet posting from Richard Stallman.

      What should be included?

      Depends on the programming language. If it's C, you probably want to include stdio.h. But with C++, probably iostream.h or some Qt header file. With Java I find myself using java.util.* and java.io.* a lot. But a lot of cool stuff is in the javax packages too. It's really up to what you're trying to do.

      Basically, when designing a class for OSS you use the same principles as when writing proprietary code. I'm confused why you're even designing a class about it!!

    25. Re:Fundementals by stymyx · · Score: 1

      Why, oh why, do I never have mod points when I see something that is so clearly (+1 funny)??

    26. Re:Fundementals by eh2o · · Score: 3, Funny

      Lecture 1a: History of OSS ...
      Lecture 3b: Why SCO sucks.
      Lecture 3c: Implications of forking. ...
      Lecture 9a; How to use IRC ...

      Could be interesting for people who don't already know these things.

    27. Re:Fundementals by TBone · · Score: 1

      Yep yep.

      OSS as a "movement" has nothing to do with programming per se, and everything to do with who owns the software and what rights others have to it.

      If this class were offered at a school I were attending, I would expect it to be a "topics" type class, not a programming class where we sat in front of a computer, but a lecture based class where we talked about issues.

      --

      This space for rent. Call 1-800-STEAK4U

    28. Re:Fundementals by maybenull · · Score: 1

      pretty much head on

    29. Re:Fundementals by MobyDisk · · Score: 1

      That sounds like a cool course. However I don't think it is an OSS course. Except for Lecture 1 and Lecture 6, the rest is stuff that is general stuff that applies to open and closed-source software. It sounds more like an introduction to Unix programming tools or the beginnings of a software development life-cycle course of some sort.

    30. Re:Fundementals by blu3+b0y · · Score: 1

      How about a lecture on how to share a bug tracking system across time zones with 50 part-time developers and an open submission system from users?

      If I had $100 for every time I've had to teach a developer how to use Bugzilla, I wouldn't have to keep teaching developers anything, I'd be retired.

      Teach them bug tracking before they leave school, for the good of all and the sanity of us poor QA folk.

    31. Re:Fundementals by Anonymous Coward · · Score: 1, Interesting
      Topics to cover:
      1. why oss (for users, developers)
      2. licenses (GPL, LGPL, BSD, definition of Open Source)
      3. philosophy (vendor lock-in, naturally forming monopolies, free market, freedom to research, freedom in general)
      4. how model compares to closed source
      5. myth of security
      6. copyrights (contributory infringement ala Battle.Net, Morpheous)
      7. patents (development of PNG, Ogg Vorbis, Ogg Theora)
      8. Jurisdiction issues (why some projects, such as mplayer are only hosted outside the US)
      9. how laws such as the anti-circumvention provision of the DMCA affect OSS OSS history
      10. OSS (Eric S. Raymond) vs. Free Software (Richard Stallman)
      11. Open source vs. open standards
      12. liability
      13. OSS successes/strengths (the Internet, BSD Unix, Linux, KDE, Gnome, enourmous resources, doesn't have to be profitable, software isn't out to nickel-and-dime users)
      14. OSS failures/weaknesses (XFree86, usability, poorly planned, lack of polish, lack of resources in some fields)
      15. Threats to OSS (Digital Rights Management, patents, DMCA)
      16. How OSS threatens others (Microsoft, Bitkeeper, SCO)
      17. Members of the OSS community (hobbyists, volunteers, students, paid professionals)
      18. History of UNIX
    32. Re:Fundementals by gautamg · · Score: 0
      You should also consider adding a lecture or two on Open Source Issues related to the enterprise development i.e issues an enterprise developer faces on a day to day basis.

      I co-authored an O'reilly book on the subject called Open Source for the Enterprise that may give you further ideas.

    33. Re:Fundementals by yuri+benjamin · · Score: 1

      Write portable code is not tied to linux, not by definition (if code is tied to unix/linux it does not run in windows thus it is not multiplataform).

      Try posix. I believe one can compile posix code on windows.

      --
      You make the mistake of thinking you can educate the fundamental stupidity out of people. You can't.
    34. Re:Fundementals by Anonymous Coward · · Score: 0

      Open Source Software is also about programming - how do you attract others to your project? Release early/release often software cycle (very different from what happens in closed source software) and using tools such as CVS or Subversion to give widespread access to the code.

      It is also about how you organise and document your code - you need to make it possible for other people to easily get involved.

    35. Re:Fundementals by Anonymous Coward · · Score: 0
    36. Re:Fundementals by Anonymous Coward · · Score: 0

      Lecture 13: Profit!

    37. Re:Fundementals by Anonymous Coward · · Score: 0

      I think an OSS class should have these primary list items from the post above.
      The programming could be added but should really focus on these three items.
      The team and community aspects of OSS need to be explicitly stressed.

      How to use versioning systems: CVS, SVN, etc.
      Communication Skills: technical writing (not the bullshit they teach you in english 101)
                        I would include IRC and/or IM as part of the discussion on communication
                        as IRC is a primary means of developing community.
      Survey of existing projects: why they succedded or failed

    38. Re:Fundementals by chris+macura · · Score: 1

      With that I meant restricting which license version you use (straight-forward, I think) and doing weird stuff like handling what happens if your program generates code based on somebody else's input: their input is theirs, but the output? Particularly if the output contains a large part of the program's code, this becomes a really tricky issue.

    39. Re:Fundementals by stlhawkeye · · Score: 1
      What else you ask? Uhhh, I just thought of an important one. What about "how to make money?"

      On this point, I think the example of Zope is illustrative. Investor Hadar Pedhazur was willing to pony up venture capital to fund Zope Corporation, on the condition that they open-source Zope. I'm not really a Zope fan, but the idea of an investor requiring a company to open-source their principal asset struck me as a hard-dollar vote for the value of OSS.

      Illustrative of what? Just because somebody says, "You must open source the project to get my money!" doesn't mean they have any business plan to generate revenue.

      I can walk up to you and said, "I will not give you $100,000 unless you fart the Star Spangled Banner for me!" That doesn't mean there's some kind of implicit monetary value or sound business planning behind patriotic flatulence.

      --
      "I have never won a debate with an ignorant person." -Ali ibn Abi Talib
    40. Re:Fundementals by plalonde2 · · Score: 1
      The most important technical material to teach in an OSS course is how to read.

      Most comp sci students have much too little exposure to real, large-scale software systems. This kind of a class is a perfect opportunity to expose them to large software. Even better, as an assignment they could read enough code to be able to make a change that doesn't break existing functionality, and hopefully adds more. It's a much harder process than most CS grads understand to change software withouth pissing off users.

  3. Obviously by Anonymous Coward · · Score: 0

    Lectures by Mr. Thorvalds himself... and the farther you can keep RMS away from the class, the smoother it should run!

  4. License and patent issues by Frogbert · · Score: 3, Interesting

    Well you could go over the differences in GPL and BSD as opposed to other licenses and have them find out what effects patents have on software.

  5. Other aspects by m2pc · · Score: 4, Informative

    It would be nice to cover the aspects mentioned in the previous replies, but having some instruction on how to get started with OSS (SourceForge, using CVS, etc.) would also be helpful.

    1. Re:Other aspects by Brad_sk · · Score: 0

      In addition, a small talk on how to get OSS software into mainstream and some insight into how to beat Micorsoft/ why so many OSS operating systems are still second players...This would help students not to repeat same mistakes.

    2. Re:Other aspects by plover · · Score: 1
      Absolutely. For any specific project people will have to learn the mechanics of all the tools involved: the compiler, the source code control system, the build tool, the bug tracker, and a project newsgroup, blog, or mailing list. You should consider dropping them all in a somewhat unfamiliar environment, just so they can learn how to pick up new tools.

      You might explore the differences you'll encounter developing an OSS project on an OSS platform vs. building an OSS project on a closed platform with commercial tools. Not every OSS project is a Linux project -- there are some Windows projects built with Visual Studio. That may lead to a discussion of portability, and alternative ways to develop based on portability. Cygwin and MinGW come to mind, and there are dozens of other possibilities to explore.

      A couple of case studies might be useful. For example, how did Mozilla / Firefox become so successful? Asterisk is an open source project that has been closely held by the company that wrote it, and was released in conjunction with selling their hardware (although that's certainly not a requirement for using it.) Other smaller projects have been single-person development efforts that have other folk drifting in and out of particpation.

      Dealing with people with their own agendas will be the toughest part. Joe may focus on a Mac-only porting effort, while Jack is interested only in Windows driver development. And sometimes people just fall off the map, never to be heard from again. How does a project lead deal with ambiguities like that?

      Who gets stuck doing maintenance instead of development? Do they get paid for maintenance issues? How do they get paid? Can you make money on OSS, and how?

      Having the students participate in an OSS project, either one of their choosing or perhaps a class collaborative project, will help them learn how such a project is run. Having them particpate in an "outside" project will help them in that learning to work without face-to-face meetings is a trick in its own right. With a classroom-based project students might be tempted to "cheat" and whiteboard with their co-developers. That sort of design process sometimes doesn't get to happen in the real world.

      A brief history of OSS (FSF vs OSI, for example) might be interesting, but I'm not sure how useful it will be to today's developers.

      --
      John
  6. Göteborg University course by tcopeland · · Score: 4, Informative
    Their school of economics has a course on Open Source/Free Software. Here's the summary:
    The purpose of this course is to study the philosophical foundations and theories that have developed in the open source/free software field. Beginning with a historical view of the developments in theory and philosophy the course participants will continue their study of the phenomenon and also be given the opportunity to discuss the new issues these development philosophies have given rise to. Additionally the question of whether these same theories and philosophies can be applied in other fields of intellectual endeavour aside from programming.
    Sounds like nifty stuff, although not much in the way of actually fiddling with open source code. I guess it depends on what aspect of OSS you're trying to focus on...
    1. Re:Göteborg University course by upside · · Score: 1

      "Additionally the question of whether these same theories and philosophies can be applied in other fields of intellectual endeavour aside from programming."

      That's an interesting sentence. I've always thought that the success of OSS owes much to the fact that it follows a similar process to that of academic research. You do your work, then publish it for others to review, criticize, improve and build on. In both the focus is always (in theory anyway :P) on progress rather than the goods that follow.

      Now before you shoot me down, my wife is a PhD student so I have no illusions about the harsh reality of academia. :)

      --
      I'm sorry if I haven't offended anyone
    2. Re:Göteborg University course by tcopeland · · Score: 1

      > In both the focus is always (in theory anyway :P) on progress
      > rather than the goods that follow

      Hm... do you think that's true for programming? I mean... if someone declares that they are working on, say, a Java compiler, and they work on it faithfully for a year or so, releasing once a month, and then quit before being able to finish the "emit bytecode" part - wouldn't that be viewed as a bit of a failure as a Java compiler since the real product was never done?

      Of course, it would be a great learning experience, and possibly a fine master's thesis topic... but would it be a success as an open source project?

  7. The cathedral and the bazaar by jarich · · Score: 4, Insightful
    http://www.catb.org/~esr/writings/cathedral-bazaar /

    Also, SourceForge

    Basic tools. Source code management, build systems.

    Leadership techniques about getting people to work with you when you aren't paying them and can't fire them.

    1. Re:The cathedral and the bazaar by MaskedSlacker · · Score: 1

      That last one should be the biggie, IMHO. Managing open source projects, motivation. Spend the last two or 3 weeks on that.

    2. Re:The cathedral and the bazaar by neelm · · Score: 1

      Just getting though the topics in catb would be great. If there was time hitting sf.net for the process in practice, and also having students find a project on sf.net and contributing would be a great "finals" project.

  8. IT Law by daveed · · Score: 5, Interesting

    OSS isn't strictly an IT issue. It's a rights issue. Who owns software? software design? concepts? ideas? thoughts? This sounds like what I should have been taught in our semester of IT Law (As apposed to the far too specific individual legal cases to do with Data Protection Act (still very interesting though)). If you were to take this class. A major part of the course would have to be the GPL. This has to be the most clear cut academic outline of OSS. In short... Very good idea :)

    1. Re:IT Law by el_flynn · · Score: 1

      Yes, I agree that this is a very important subject. Actually, the topic of "OSS: Legal Issues" should be a subject that a lot of universities contemplate taking up. There's a lot of people who don't really understand concepts like GPL and how it affects OSS projects. One ongoing row: the Asterisk Open-source PBX project has just had some "competition", where a splinter group started a fork of the code and created the OpenPBX project. While it appears on the surface to be valid, in terms of the GPL, a lot of people who don't understand the rights etc. are blowing up and crying foul -- most of them commenting about "backstabbers" and "biters of the hand that feed"..

      --
      The Wknd Sessions - Malaysian and South East Asia independent music
  9. Make sure you discuss... by Anonymous Coward · · Score: 0

    ...the fact that major companies rely on OSS to lower their costs and take advantage of others. IBM, Dell, and other major PC companies owe the OSS community a nod for providing valuable tools on servers.

  10. Definitely need. by mctk · · Score: 2, Funny
    Free A's!

    Now is that freedom or beer?

    --
    Paul Grosfield - the quicker picker upper.
    1. Re:Definitely need. by Anonymous Coward · · Score: 0

      > Now is that freedom or beer?

      In college? Both!

  11. Is this for Continuing Education? by PDXNerd · · Score: 4, Interesting

    You said "Continuing Education" which I translate as "Not-for-credit", or in other words, a class one takes in ones own time which does not count towards anything other than personal satisfaction or career enrichment.

    Look at your target audience: beginning to mid-level programmers with no real-world experience. Adults, probably older than college-age, who have families and careers (or not) and are looking to learn. If they take an OSS course, they are interested.

    Don't scare them off by jumping straight into philosophy and legalities - explain the history of OSS by exploring what is GNU, why they existed, talk about the split between ATT UNIX/BSD/etc. Introduce Linux. Introduce the wide-range of programming tools available. THEN, and ONLY THEN talk about the details. If you don't pique their interest right off, you are liable to scare them off. Most programmers I know aren't too keen on using their free time to discuss legalities and philosophies. (I know you exist out there, but you are not the majority.)

    1. Re:Is this for Continuing Education? by DJCF · · Score: 1

      For me, continuing education translates to 'after highschool' (i.e., university level, college level, or equivilent). Have to ask the submitter, I suppose.

    2. Re:Is this for Continuing Education? by stuffduff · · Score: 2, Interesting

      Personal Satisfaction - That would make a good way of looking at a continuing ed course. As for how to teach it, I have a three pronged approach to suggest. "I know why things are this way." One branch is simply the history of what happened, so that we can see how personalities and philosophies were cross-pollinated by different hardware and software that was available at the time. Consider the birth of Unix as one example, Microsoft as another and Linux third. "I know how to how to do it." Another would be the practical aspect of it. Make up some teams, give each the chance to scrounge around for some freebies, older computers (not necessairly pc's) and see what they can find that will run on the hardware. How to select an operating system, how to download, install and configure it. "I know how to give and get support." Now that there is a working system, give them the challenge of making it do something useful. Web server, mail server, end user workstation, whatever. Have them choose the software components and glue them together with a scripting language. Help them to learn how to use the web and newsgroups to ask and answer questions. I think that this, along with the ability to select a possible replacement for any given strategy, hardware, software, design would be the way to go. The key is to equip the students with a rudamentary skillset to make decisions about OSS, when its use is or is not appropriate, etc.

      --
      "Can there be a Klein bottle that is an efficient and effective beer pitcher?"
    3. Re:Is this for Continuing Education? by sameerds · · Score: 1
      Most programmers I know aren't too keen on using their free time to discuss legalities and philosophies.

      Indeed that is correct. But what most people fail to see are the people in open source. Philosophies and tools are all fine ... what really makes a difference is the way developers interact. Point out the way email address of individuals are present in manpages, in the source files ... or how one can simply join a mailing list and start contributing to a project pretty fast.

      You could also include stuff about how a huge amount of importance is given to "Doing It Just Right" instead of simply "Getting It Done" ... that what gets you acceptance is quality code.

      A good resource will be this dissertation that uses Debian as a case study: http://lists.debian.org/debian-project/2005/08/msg 00206.html

      Mark Shuttleworth's page on the Ubuntu wiki is also a good starting point to try gaining an insight into "open source". https://wiki.ubuntu.com/MarkShuttleworth

    4. Re:Is this for Continuing Education? by JohnFluxx · · Score: 1

      I'm guessing that you are an "oldie" that has forgotten how 'hippie'-like youngsters are. It was the philosophical side that I liked the most.

    5. Re:Is this for Continuing Education? by slim · · Score: 1

      In the UK, "Continuing Education" refers to part time education taken once your full-time education (school, university etc.) is "complete" (not that you can't return to full-time education).

      i.e. evening classes, etc.

      However there is usually some element of credit, however mickey-mouse, because the government will subsidise courses if you get some sort of accredited certificate at the end.

      This is why I have three pieces of paper indicating that I learned a very small amount of Japanese over the course of 30 1 hour evening classes...

  12. Get Involved by Acius · · Score: 5, Insightful

    If you're talking to computer science students, it might be a good idea to have them research an OSS project they like and contribute something to it. I think a lot of students are pro-OSS in theory, but haven't taken the time to actually get their hands dirty with real, live code. If you require them to find and do some work on an existing project then they get valuable experience in researching what's out there, familiarizing themselves with existing community gathering points, etc.

    True, a lot of the code they contribute will suck, but that's nothing new. And if they keep trying, they'll get better at it.

    --
    Acius the unfamous
    1. Re:Get Involved by Derkec · · Score: 1

      Interesting. I wonder how much code to OSS projects is done this way. On most projects I've seen, 80-90% of the work is done by a few maintainers who have some (usually financial) interest in the project and most or all of the remaining work is done by users of that software who were pissed off about some piece of functionality.

    2. Re:Get Involved by cborg · · Score: 1

      If time and expected level of effort allow why not show them how to do something with a package? For example have them actually create something with an open library like gtk+ or qt... It might be a bit much to expect contributions back to a project from a mere class. Introducing people to what things can do would be constructive nonetheless.

    3. Re:Get Involved by Anonymous Coward · · Score: 0

      Seconded! That would give them real-world exposure to the development process, which would expose them to such things as:

      diff/patch the sort of distributed development involved in open-source software does not lend itself to granting commit privileges to everybody and thus, until you earn them, you have to send patches out to a mailing list for review before being committed (meritocracy)
      change logs you have to be able to describe the patch you sent out so that any other developer can understand them. It forces you to document your work before submitting it mailing lists/newsgroups whatever discussion forum the project uses, invaluable for coordination, code reviews of submitted patches and answering questions from fellow developers code reviews already briefly mentionned, but this is the best way to make sure the open-source concept works (i.e. make sure the code is seen by other eyes first) and helps improve future submissions benevolent dictators for life look that up on wikipedia for the "political organization" behind large projects use the source sometimes the best way to answer a question is to perform searches/readings of the source code and updating the documentation as necessary so the next person doesn't need to do the same work on a project you actually use it's most rewarding when you find a bug in software you use, and then fix it. You can then show your mother: "See? I made it possible to do that!" or "It no longer crashes when you do this". This is called "eating your own dogfood" use a bug tracking system fellow users of the open-source software will report bugs and it's a good opportunity to interact with your users to see if the software should (eventually) change at a lower level to accomodate them

      In conclusion, it's not that you can't learn these things elsewhere, it's just that it's really easy for anybody to participate, learn and gather experience for the "real world" (tm).

      Sources:
      So you want to be a Windows Installer XML developer?
      Single Committer Software Development
      Part of Your Complete Breakfast

    4. Re:Get Involved by paul.schulz · · Score: 1

      (As mentioned) Give lots of real world examples.

      - Sourceforge projects
      - Ubuntu

      Introduce them to the GNU Toolchain, and compiling for different architectures. Show them examples where the code can run on Intel, and PowerPC (for example).

      Have an assessment where they are required to contribute something (it could be anything) and get them to decide what Licence they would like to use (and explain why)... get others in the class to 'peer review' the work and comment/make changes. (It could be anything... from code, to documentation, graphics or audio.)

    5. Re:Get Involved by kbielefe · · Score: 3, Interesting
      I would take this idea even further. If it is a semester-long class, I would make the term project be to get a patch accepted in an open source project. You learn a lot in the process of getting a patch accepted, most of which is not related to coding at all. You learn how to gain rapport with a community, how to find and fill a need in a way that is acceptable by all members of the community, and how to follow through. These are the aspects that are really different from closed source programming.

      The patches don't have to be huge leaps in usability in order to be useful. There is a lot of stuff to do if a reasonable effort is made to look. Some suggestions:

      • Pick a bug from the bug database. There are some bugs that get ignored because the main developers can't reproduce them.
      • Update a plugin or theme that broke when the parent package was upgraded.
      • Ask on the mailing list what needs work and would be good for a newbie to tackle. I almost guarantee they will have a list they haven't gotten around to.
      • Try out a lot of different open source applications in different ways. I once found a one-line bug in an app because I was trying to import a unique file. I was only evaluating the app for a few hours, and I decided not to use it, but my tiny fix is still in the code base.

      This might even work for classes with non-coders. Updated documentation is sorely needed for many projects and the process of getting it accepted is similar. Submitting a unique and useful bug report might be another acceptable project for non-coders. Correctly answering 10 questions in a support forum might be another.

      --
      This space intentionally left blank.
  13. Ernest T Bass Quote by pin_gween · · Score: 5, Funny

    What would you want to see in an OSS class?

    Girls

    --
    Ignorance is not a crime; neither should it be a way of life

    Congress control $ = inmates run the asylum
    1. Re:Ernest T Bass Quote by Space_Balls · · Score: 1

      only on /. will such a comment get a rating of "Insighful"......

      --
      this.showSig(false)
    2. Re:Ernest T Bass Quote by objekt · · Score: 1

      Ernest T, God rest your hillybilly soul!

      --
      -- Boycott Shell
  14. Source Control and Licensing by foobarra · · Score: 1

    The pros and cons of various source control platforms, such as CVS, SVN, BK, arch, and darcs would be appropriate, as well as discussing all the "free" software licensing options. This could turn out to be a rather religious class ;)

  15. A few things... by Omega1045 · · Score: 4, Insightful
    1) Info on licensing and the GPL, etc, etc at some point. Perhaps an intro to FOSS licensing at the beginning, and more details at the end.

    2) Coding Standards! I think that good coding standards and commenting are especially important in an OSS project.

    3) Using OSS tools: If the student is going to become as OSS programmer, then they really need to know how to use CVS, Bugzilla, etc, etc. I am sure you can come up with a good list of the things a developer needs.

    4) Walk the students through setting up Linux, and using its basic functions (grep, etc) and its programming tools (gcc, make, etc). Go over the very, very basic stuff. I programmed for a while in a Wintel inviro in college before getting into an AIX system. It was a shock, and the prof seemed to think that we (me and the other students) had been programming in Unix before. It took me some time to get used to using to tools for development in Unix. Today, you probably also need to go over some command line stuff. I remember it not being that big of a deal, since I was used to DOS. I bet a lot of student today have never used DOS, or it was a long time ago.

    --

    Great ideas often receive violent opposition from mediocre minds. - Albert Einstein

    1. Re:A few things... by sinewalker · · Score: 1

      I agree.

      But point 2 is religious territory!

      Better to merge it with 3 and focus on using refactoring tools and pretty-printers to reformat your code to the project's stated standards, especially since every project is different, but most do seem to be consistent within the project (it seems to be a criteria for path acceptance).

      A general appreciation for coding standards, why they are different even for the same language, and how to write good code that can be made to conform to a given OSS project, would be better than focussing on, say the Sun Java programming standards, or the K&R verses C++ style relligious war.

      --
      “Our opponent is an alien starship packed with nuclear bombs. We have a protractor.” — Neal Stepnenso
    2. Re:A few things... by Anonymous Coward · · Score: 0

      Part I is to provide info on the licensing of software and FOSS licensing. Include:

      • The ideas and the differences between, meaning of copyright, patent, trademark, trade secret, contract, click-wrap/shrinkwrap license, etc -- And how these effect software. Concepts that are important to fully appreciate the difference between closed source and Free Software.
      • The Open Source definition link
      • Show the traditional model examples of interoperability problems such as proprietary file formats, Patents, the enforcement mechanism, End-User License Agreements.. pick a prominent example, show common restrictions vendors place on their development tools, i.e. look at the licensing of a particular computer video game, development tool, OS, etc by a major publisher. (No reverse engineering, no right to tinker, etc)
      • Perhaps contrast with the Open Source model in an example as a way to illustrate the advantage.
      • Show off some of the major Open Source programs in action -- a web browser would be a start, but provide some example that the Open Source model has been successful and delivered "cool", respectable products.
      • Cover Free Software, the Free Software Foundation's philosophy link; other philosophies
      • The distinction made between Free Software, Open Source, Freeware, Careware, etc...
      • Free documentation... Wikis.. transparent file formats, etc.
      • The meaning of copyleft
      • How to place software under an Open Source license, when you can, choose? Compatibility with the GPL (and between other licenses)
      • Popular types of Open Source licenses to pick from (GPL, LGPL, BSD License, MIT Style, Artistic, are probably the most important); what is unique about each of the popular licenses; when they can be interchanged.
      • The development advantages.. including forking and its advantages and disadvantages (consider X.org).. good reading material may be the The Cathedral and the Bazaar: link.

      Part II would be software development in an open source environment; basically how to get and setup a free software Operating System like Linux, FreeBSD, etc, to program in C/C++/Perl using GCC, or a compiler set like Python or Ruby on their windows machine. An understanding of what some of the most popular tools are used for (not necessarily the skills to use a tool, just what they are used to do):

      • Subversion / CVS
      • Gimp
      • Vim, TeX, Indent, Text editors
      • Make, Patch, Diff, Gdb, GCC, G++, Autoconf
      • Apache, PHP, Python, Perl
      • GNU/Linux; Redhat; Debian; *BSD; ...
      • OpenOffice, The Mozilla browser
      • XFree86, Qt/GTK, KDE/Gnome

      Part III OSS Projects

      • Organize: Version control, version number management, Todo lists, Milestone charts, ideas like 'release early, release often..' What's a beta? What are nightly tarballs.. nightly builds Etc.
      • Develop: Tools used to edit and test sources. How to get a copy of a source tree... how to compile a source tree...
      • Popular coding styles, brace styles; tab stops, etc.. GNU Coding standards, GNITs
      • Debug: GDB, Bug trackers..
      • Feedback/Discussion and its importance: Forums, Mailing lists, Newsgroups

      Students should have a project that deals with Open Source Software.. for the purpose of expanding practical experience -- and to write a report on Open Source, their experimentation, and what was learned, including some quoted forum posts, and patches/source snippets, related to their activities. The quality and understanding of Open Source conveyed in the report is what matters.

      Perhaps to either start their own Open Source proje

  16. Don't Forget The GNU Manifesto. by Errandboy+of+Doom · · Score: 1

    How about a class where the primary textbook is Google's USENET archives?

  17. Slashdot is the wrong group of people to ask by Anonymous Coward · · Score: 0

    Slashdotters prove time and again that they don't use OSS, they don't read licenses, they don't develop OSS, they don't even use Linux. Why even ask slashdot, why not ask people in communities who actually use OSS rather than pseudo fanboys who spend their time playing Unreal in Windows or staring blankly at an Aqua decorated screen.

    1. Re:Slashdot is the wrong group of people to ask by ajwitte · · Score: 1

      Except that large parts of OS X are open source, and there is something of an open source community around UT as well.

      --
      chown -R us ~you/base
  18. The amount of non-programming involved in OSS by Anonymous Coward · · Score: 0

    Not to scare them away, but there is an awful lot of work to do. They need to know not just the idea/conception stage, but also what kinds of talents they need to attract, and how to attract them, and how to lead them w/o the paycheck/command and control style available in traditional software houses.

    A couple of case studies would be good too.

    Oh, and all the goodies like readable code, Doxygen, Source Code Control (but call it "Revision Tracking"), available tools, test-driven-development and basic security.

  19. i took a intro to unix and linux class by Anonymous Coward · · Score: 0, Flamebait

    we ended up making a gay perl phonebook script the whole course. wow i paid $200 to take such a class and realized how sysadmins/techs dont get laid then live horrible lives so i dropped out.

    THANKS PROFESSOR FOR HELPING ME MAKE THE BEST DECISION EVER TO DROP OUT OF COLLEGE.

  20. A lot of small topics by AuMatar · · Score: 4, Informative

    It seems there's a lot of amll 1 lecture topics, but not many big huge things

    *philosophy of OSS, and OSS vs Free Software
    *Differences between the major licenses (GPL, LGPL, BSD)
    *Major OSS successes
    *OSS development tools (sourceforge, gcc, ddd, etc)
    *A project where they fix a bug in an open source program of their choice (or add a feature), and submit it to the maintainer.
    *OSS buisness models

    Other than actually coding some open source software, there's really not much I can see teaching to make it a whole class.

    --
    I still have more fans than freaks. WTF is wrong with you people?
    1. Re:A lot of small topics by stoothman · · Score: 1

      Another thing I would add to your list is a general discussion of the OSS replacements for common programs for use in everyday life, which you might adjust somewhat based on the make up of your class. You might want to show some major businesses that run their businesses on OSS/FOSS, like Google, a bit different than a strict business model approach. You might want to add a general history overview to show that OSS/FOSS is not some flash in the pan stuff, but has been around for quite a while. There is a good timeline somewhere of the history of UNIX and fellow travellers, but the url escapes me at the minute.

    2. Re:A lot of small topics by AuMatar · · Score: 1

      Another thought- macroeconomics of OSS. The fact that lowering the cost of software lowers the cost of doing buisness in general, and thus increases the resources available for other projects, increasing world productivity and GDP.

      --
      I still have more fans than freaks. WTF is wrong with you people?
  21. Get inside the code by N1AK · · Score: 2, Interesting

    Obviously the other posters are correct about the OSS mentality being a major, if not the major area.

    However, I think perhaps if you were to take a look at some interesting open source applications, and come up with some changes you could implement (or even ask the class to implement). Showing them that with OSS they have the power (and right) to go in and change everything from an OSS, to a egg timing widget, might demonstrate the control and empowerment use of OSS can give.

    1. Re:Get inside the code by N1AK · · Score: 1

      Doh too many Ss spoil the OS :| I knew they put that pesky preview thing in for a reason.

    2. Re:Get inside the code by jc42 · · Score: 1

      source applications, and come up with some changes you could implement (or even ask the class to implement). Showing them that with OSS they have the power (and right) to go in and change everything ...

      Strictly speaking, OSS gives you the power to change things, but not the right. That's where you need Free Software.

      After all, Microsoft has their version of Open Source, in which you sign an NDA and can read the source, but you have no right to do anything else such as make changes.

      Of course, freedom to change software doesn't mean much unless you have the source. That's why some people prefer to use the acronym FOSS (Free and Open Source Software). That way, you have both the power and the right to change it if you wish.

      (Yeah, I know; picky, picky ... ;-)

      --
      Those who do study history are doomed to stand helplessly by while everyone else repeats it.
  22. Fundamentals+ pick a story like Apache by teaDrunk · · Score: 1

    Certainly go over the "Why OSS" and various licenses.

    Pick a candidate solution that most people can relate to.
    But since the attendees are going to be programmers, there are also possibilities of really picking an OSS product and take up an exercise for hands on involvement (a subset I suppose).

  23. Practical issues of using/developing OSS by kclittle · · Score: 1
    I doubt you have to 'sell' the philosophy of OSS to today's students. I'd concentrate on the real-world challenges of OSS: patch hell, choosing a distribution (Linux or *BSD), where to find OSS goodies if you're stuck w/ Windows, using RPMs, how/where to post questions and get support, where to find best doc/books, using CVS and other CMSs, etc. In short, introduce them to the real-world, practical problems and issues with OSS, and give a survey of the tools available to solve them.

    My $.02

    --
    Generally, bash is superior to python in those environments where python is not installed.
  24. One-time seminar by compupc1 · · Score: 2, Interesting

    Well I would tend to say this would be a topic best suited for a one-time seminar, or as one topic within a larger class. You should cover the legal, ethical, and business aspects of OSS, as well as maybe an introduction to some popular project, common tools, etc. HOWEVER, you as an instructor have a duty to present an unbiased view. To offer a class specifically about OSS is the same as offering a class on say .NET programming or on Oracle. This is a biased view of the world. Ultimately, the programming concepts should be the same, regardless of whether your source is closed. You still need a methodology, you still need well written code, you still need efficient algorithms, you still need design patterns, etc. That doesn't change. In reality, OSS is more of a business model than a particularly technical topic. Don't offer an "OSS programming class" -- that's just "programming class" with an OSS bias. Rather, discussed as a one-time topic, just to get students aware of what OSS means and how it might impact them. The programming concepts should remain independent of the business model.

    --
    -James
    1. Re:One-time seminar by plover · · Score: 1
      I would tend to say this would be a topic best suited for a one-time seminar

      Wow, that's exactly the opposite of how I saw it. As I was going through the list in my mind I was thinking there's no way this could be taught in a one-credit course -- there is so much to cover that three or four credits would likely be required to explore everything to a useful level. And then I went back and read some of the other poster's suggestions, and started wondering how it could all be taught in less than a dozen credits!

      Or maybe I'm just a slow learner :-)

      --
      John
  25. Topics by Anonymous Coward · · Score: 2, Interesting
    Here's a list of topics, in no particular order:
    • OSS history. Include usual suspects: RMS, Linus. Compare with proprietary software.
    • OSS licenses: GPL, LGPL, BSD / Apache / MIT
    • Installing OSS software: configure, rpm, deb.
    • OSS libraries: gettext, readline, etc.
    • OSS toolchain: make, autoconf, m4, cvs, etc.
    • Languages used in OSS development: C, Java, Perl

    Each of these topics could form the basis for a semester-level class by itself. I'd do one lecture on each of the first five topics, then pick a language and toolchain and do the rest of the course in that language. Call the course "Developing OSS in C"
  26. Please discuss professionalism. by CyricZ · · Score: 1, Troll

    Please be sure to discuss professionalism, at least to some extent. A lot of open source programmers fail to realize that professionalism is necessary when running a project that seeks to be successful. There is a far greater chance that such open source software will be adopted by businesses and other serious users if the developers put forth a good image.

    For inspiration, take a look at some comments from a KOffice developer directed towards a user. Anybody who takes professionalism seriously would know that it is incorrect to insult your users in public like that. It's somewhat acceptable to point out that they might be wrong (in the KOffice developer case the user was correct, however), but it is never acceptable to resort to infantile name calling.

    So please, if you do teach this course, discuss professionalism and basic customer/user/client interaction skills. It will do the open source community a lot of good, and may very well increase the usage of projects developed by your students.

    --
    Cyric Zndovzny at your service.
    1. Re:Please discuss professionalism. by Anonymous Coward · · Score: 0

      I can't believe you just linked that thread. That thread makes you look like a fucking idiot who speaks on subjects that you know absolutely nothing about. If I was the KOffice developer I would have been a lot harsher on your dumbass. I agree with every single comment in that thread that tells you that you should shut the fuck up. Did you notice how almost every comment in the thread backs the developer and not you? You sir are a fucking idiot.

    2. Re:Please discuss professionalism. by Anonymous Coward · · Score: 0

      oh dear, you're still whining about that? you're just crying because you got very publically pwned, and now you're trolling for sympathy. if you don't want to get publically pwned then don't spew complete BS publically.

      give it up. you got pwned. nothing you say or do will change that. you'd do best to stop bringing it up, because you keep looking like an ass.

  27. OSS (Operational Support Systems) by tyagiUK · · Score: 2, Interesting

    Are you sure he wasn't proposing a course on Operational Support Systems (OSS)? http://en.wikipedia.org/wiki/Operational_Support_S ystems.

    I'm not an OSS guy, but coupled with some sort of "management of IT systems" and a more IT-oriented course, an OSS element would probably be really useful.

    --
    Contribute to the online videogame encyclopedia: GamerWiki
  28. Teach the Dev. Process by stumbler · · Score: 1

    It sounds obvious, but you should cover the development process. In many CS classes students work alone, so an OSS model may be strange. How does one go about recieving code, building it, and tracking bugs? Grab some place on SourceForge and have the class run a small OSS project ...

  29. Comparison for open source by Spy+der+Mann · · Score: 0, Troll

    Here's a comparison school kids might like:
    There's a girl that wants to do it with you - WITHOUT protection. Would you rather...?

    a) make sure she has no sexually transmitted diseases, or...
    b) dive in, without worrying about the consequences?

    NOTE: Assume that option a) costs no money at all.

    After this example, you can mention Internet Explorer and the attack of the spyware and viruses, and compare with Mozilla Firefox as a *practical* example of Open Source programming.

    1. Re:Comparison for open source by Anonymous Coward · · Score: 0

      I believe that I saw something that said that Firefox had more critical problems in the last X timeframe than IE. So your analogy may not be the best.

  30. Professionalism is a must. by CyricZ · · Score: 2, Insightful

    Indeed, it is very important to project a professional image, especially if you're a developer who wants your project used by businesses, governments, universities and other serious users.

    One important thing to do is to not insult your users/clients/customers. While it is fairly rare, thankfully, every now and then a rogue open source developer will make comments that tarnish the reputation of an open source project.

    So please, consider teaching something about professionalism. It will help in many ways, be it in a marketing sense (projecting a reputable image) or in a financial sense (making your project appear financially viable).

    --
    Cyric Zndovzny at your service.
    1. Re:Professionalism is a must. by Anonymous Coward · · Score: 0

      Get over it.

    2. Re:Professionalism is a must. by Anonymous Coward · · Score: 0

      "Indeed, it is very important to project a professional image, especially if you're a developer who wants your project used by businesses, governments, universities and other serious users."

      -If you need to kiss butt so that your software will sell; then yes. If you are working for free, in what little spare time you have, only to have ungrateful users such as yourself make fairly stupid comments (which then pushes you over the edge) it is certainly not a requirement. Obviously it's important in life to try to be nice, open-minded and thoughtful. But not everyone can be like that all the time. That is the nature of human kind.

      I suppose if you label manyoso as a 'rogue developer' then you must consider me to be a 'rogue slashdot reader'...because I don't like you much myself, CyricZ.

    3. Re:Professionalism is a must. by rufty_tufty · · Score: 1

      I hate to feed the troll, but:
      "I do this for free" is never an excuse for poor manners. It is fundamental to living in society that we behave well towards each other.

      If a project attracts pissed off agressive people, or gives the impression that it does then the project deserves to suffer.
      It's like saying that it's fine to troll and be offensive on slashdot because no-one is paying you to post. It's Anti-Social behaviour and should be looked on in the manner it deserves.

      --
      "The weirdest thing about a mind, is that every answer that you find, is the basis of a brand new cliche" -
    4. Re:Professionalism is a must. by saintlupus · · Score: 2, Insightful

      One important thing to do is to not insult your users/clients/customers. While it is fairly rare, thankfully, every now and then a rogue open source developer will make comments [slashdot.org] that tarnish the reputation of an open source project.

      You got owned for acting like an asshole. Get over it.

      --saint

  31. Ask these people by bkhl · · Score: 1

    There is a course like this at the University of Gothenburg.

    http://www.informatik.gu.se/eng/education/opensour ce.xhtml

  32. OSS development or OSS theory? by LOTHAR,+of+the+Hill · · Score: 1

    Is your Program Director looking for a class on OSS development, or a class on theory of OSS? The fact that he didn't specify is a bit disappointing. It seems he doesn't understand is own question.

    The theory of OSS could cover the motivations behing OSS (Cathedral and Bazaar), licensing types and options (GPL, BSD, Public Domain, shared source, closed source), and what business models are suited for each kind of license. Such a class might be better suited as a course in SW licensing and IP fundamentals. It is important to structure the class and lectures to cut down on fanboy diatribe and keep the class informative and constructive.

    I don't think I can recommend a class on open source development.

  33. Scope? by naelurec · · Score: 1

    Is the focus exclusively on _just_ OSS principles? If so, how can you _not_ devote a large portion of time to the methodologies, ideaologies, philosophies and political climate surrounding open source?

    If it is not really about OSS per-say but using OSS tools to achieve a goal (ie a programming class.. with open source! or sys admin calss.. with open source!) then it seems like it woudl follow the basic course structure of what it is trying to emulate but with the use of open source tools.

    My thoughts of a "OSS" class as pertaining to a CS student:

    1. Intro to OSS .. perhaps some reading such as The Cathedral and Bazaar would be a good start. Explore the benefits of OSS and use of open standards and some of the existing political climate issues (software patents, lobbying, etc..)

    2. Application design and structure (look at existing successful OSS projects and explore how the application design has allowed it to be successful in a distributed, global, Internet driven development environment)

    3. Open Source tools (gcc, make, python, php, ruby .. whatever.. depends on you) and open source resources (ie sourceforge, freshmeat, popular project sites, etc..)

    seems like that would establish a solid introduction to open source and cover many of the fundamentals necessary to get a student involved in the use and creation of open source software.

  34. Why not do a class project? by k3s · · Score: 1
    The class project could reinforce the different parts of OSS.
    • Discuss Licenses;
    • Discuss possible projects;
    • Create a Source Forge Project; and
    • Create Assignments for the different students, e.g., have a webmaster, coders, documenters, etc.
    That would be really cool.
    1. Re:Why not do a class project? by norwoodites · · Score: 1

      I hate classes which force you to do a class project as:
      1) there usually not enough time to finish it correctly
      2) forcing people's different interest into one is not a good idea (well remember they are paying you to teach them and not being paid to do a project)

      Bad things about opening a new project, OSS is not a junk yard to be pushed out and not worried about. It has to be maintained.

      What should be done instead, let them find an already open/free source project which they can join and let them work on that.

      If someone cannot find a project let them write a paper about different open/free source projects and how things fit together. Like how Linux and glibc, GNU binutils, GCC, and GDB all fit together and how the communications are done between projects.
      For an example how a bug report from the Linux kernel forks to the GCC folks are handled.

      Also getting people to work on stuff which is already done is useless really as that is not the sprit of the O/FSS.

    2. Re:Why not do a class project? by AnotherLostAtom · · Score: 1

      Okay, just noting what my version of OSS would cover. 1. Eclipse 2. C/C++ What it is and history of including how Open Standards played a critical role. 3. Java, why it is an important forrce in the OSS comunity. 4. Python, The snake language, how and why it might be the next big thing and/or why it already is the next big thing! 5. OSS in games. 6. OSS in graphics. (GIMP RULEZ!) There, just my initial thoughts about it.

    3. Re:Why not do a class project? by norwoodites · · Score: 1

      With 3, it better include the FOSS java implemention and not just talking about the Sun java.

    4. Re:Why not do a class project? by AnotherLostAtom · · Score: 1

      Sure, Java as a topic will be discused. The FOSS Java/Sun Java story will be part of the whole deal.
      :0)

  35. Teach them to be good programmers by KrisCowboy · · Score: 1

    A good programmer makes himself good and better. Teach the kids the need to share our intellect. Tell them how to help the community and hopefully, one of them would be able to create another Slashdot. Make sure your kids get how important it is to have to the freedom to read and modify the code. That should be enough motivation for the kids to make themselves better.

    1. Re:Teach them to be good programmers by grazzy · · Score: 3, Funny

      create another Slashdot.

      God help us.

  36. Computer Law by sterno · · Score: 1

    This actually makes some sense depending on how you approach it. While CS courses taught a lot about design and structure of programs they put zero emphasis on the real world of writing software. There was no discussion of requirements gathering, documentation, etc. There definitely wasn't a discussion of software licensing practices.

    I would argue though that there's an excellent overlap between CS curriculum and discussions of licensing, OSS, etc. What I imagine is two class projects. In one project they have to write everything themselves, mimicking proprietary software development. Then in the second project they will be able to use any OSS resources available to them. What would be ideal is to overlap this with a business class, showing how the choices had an influence on time to market and the marketability of the product.

    --
    This sig has been temporarily disconnected or is no longer in service
    1. Re:Computer Law by Molt · · Score: 1

      Much as I love OSS there is a problem with your comparison- if you're comparing a closed-source team vs. an Open Source team then the closed-source should really have a budget to buy-in a certain quantity of third-party libraries and utilities which they see fit. Very little proprietary software development is from the ground up, and there are a lot of very strong closed-source libraries out there.

      In any circumstance it's true that any development team asked to develop something large and scary (as in "This is actually useful") from scratch needs one of two things: To be an exceptionally strong team, or to have the phone numbers of a lot of good recruitment agencies.

      --
      404 Not Found: No such file or resource as '.sig'
    2. Re:Computer Law by sterno · · Score: 1

      Actually I had considered that approach except for the issues of budget for a class. It's not like the average CS class has a pile of money lying around for licensing :).

      --
      This sig has been temporarily disconnected or is no longer in service
  37. Lesson One. by GeneralEmergency · · Score: 5, Funny



    Lecture:
    Microsoft is Evil(TM).

    Review:
    Microsoft is Evil(TM).

    Test:
    Microsoft is ______________.

    A) Evil(TM)
    B) Mostly Evil with nice pockets here and there.
    C) Not very Evil.
    D) All of the above.

    --
    "A microprocessor... is a terrible thing to waste." --
    GeneralEmergency
    1. Re:Lesson One. by mindaktiviti · · Score: 1

      True.

  38. What NOT to teach.... by Anonymous Coward · · Score: 0

    The most important thing is to avoid those stupid bloody references to "free as in ...". 1] Freedom as in speech. No there is not. Go up to the whitehouse and loudly announce you have a bomb in your backpack. 2] Freedom as in beer. No there is not. Go to the local liquor store and see how much beer you get for nothing. These two references are the dumbest things that OSS morons (especially those that believe Stallman is anything other than an idiot) spout on and on about.

    1. Re:What NOT to teach.... by yo_tuco · · Score: 1

      "Freedom as in beer."

      That should be free as in beer. You know, like when your friend gives you a beer when you come over. It's free to you but he paid for it.

      "Freedom as in speech".

      That would be free as in libre.

  39. Some OSS class ideas by caffiend666 · · Score: 2, Funny

    Trolls 1401: How to avoid nonsensical debates, unless you don't want to.
    MS Math 1402: Adding up total cost of ownership.
    Zoo-ology 1301: Using O'Reilly manuals.
    Photography 1501: Online Porn.
    Rhetoric 1502: Comments as code.
    Law 1502: Understanding Software Licenses.
    Anatomy 1101: Using man pages.
    Geology 1502: Unix scripting in Perl and Ruby

    --
    Here's to losing my Karma Bonus again....
  40. Time Savings Tip by Anonymous Coward · · Score: 0

    "My question to the slashdot crowd is: What would you want to see in an OSS class?"

    An easy time savings tip would be to hand out CDs of Video Professor.

  41. I sincerely hope it's freedom. by game+kid · · Score: 1

    Unless he wishes to live in some sort of cardboard box (or gets the rent from Paypal or something) I sincerely hope he's getting some dinero from his work.

    It's a lot better than another *vomits* PowerPoint class.

    --
    You can hold down the "B" button for continuous firing.
    1. Re:I sincerely hope it's freedom. by Anonymous Coward · · Score: 0

      (or she) --game kid

  42. It's really simple by ShatteredDream · · Score: 1

    A constructor, methods and variables.

  43. Process and Philosphy by Qui-Gon · · Score: 1

    Programming language is pretty much an irrelevant topic when talking about Open Source IMHO. I think it would be to good start off by looking at the motives and philosophy behind the open source movement back to its roots (even prior to the formation of organizations like FSF). This should include business models - including success stories and failures. Also examining the development methodologies (distribution, building, code QA, versioning, testing, etc) used by large and small scale open source projects. Now that your students understand the 'why' and the 'how' of open source, you could have them pick an open source project and contribute something to it.

    --

    We are blind to the Worlds within us
    waiting to be born...
  44. Projects by aduzik · · Score: 2, Insightful

    When I was an undergrad -- only a couple of years ago -- we had a faculty member who was very interested in patterns, and taught a course on them under the guise of an agile class (a good way to do it, I think).

    Anyway, we split up into teams and did a project (a wiki server, in our case) and we did everything in an XP-ish way: user stories, refactoring, pair programming, the whole bit. I think you could do an OSS class in much the same way; have the class decide on a couple of projects based on interest, then teach the class in a more "studio" style. That is, use about half the lecture time to teach them how various OSS projects have operated in the past, then have them do the same thing with their own projects. And, as issues arise, as they always do, spend a few minutes here and there addressing them.

    Students could also choose a project they like, but is perhaps still in its infancy stage, and have them make a plan to modify and extend it. If you really want to go for realism, you should see if you can find a faculty member teaching a similar class at another university and have them get a sense of the "distributed" flavor of OSS, with some part of each team being at the others' campus. (Granted, much OSS development happens at corporations these days, but most of the really cool projects start out with a small group of folks developing something in their spare time, usually for fun and/or their own use).

    I think a big part of evaluating their work would not be to determine how much code they wrote (although everyone should have to write code, if for no other reason than the experience), but rather to determine their contribution to the team. For example, if a student refactors a few Java classes or something so that other development goes a lot faster, then she should get plenty of credit for that.

    The moral of this story, then, is that since people learn well by doing, they should spend most of their time doing.

    --
    If it's not one thing it's your mother.
  45. Well if you want it to be useful by Sycraft-fu · · Score: 1

    Make it about OSS and what it is, not programming. OSS is a philsophy, not a method.

    So I'd start off with what OSS is, what the ideals are. I'd contrast it to commercial software. I'd also contrast it to public domain. Make sure to define and discuss the different kinds of freedom, monetary and code. I would give a run down of the positives and the negatives of OSS, the thigns people argue for it and the things they argue against it. I would present examples of OSS projects that work well and of ones that don't, and talk about what is done right on the ones that work well and wrong on the ones that don't.

    If you have time after that, start going in to tool and resources for developing OSS software. Introduce Sourceforge and so on. However don't make the tools the focus, make teh background the focus. Give people a good idea of what OSS is, how it compares to other kinds of software, what it's good for, and tips on how to do it right. That will probably be the most useful.

    If it's just a C++ class laced with Linux pimping, it's not really going to be of much use when it comes to actually teaching people OSS.

  46. Watch Revolution OS by digirus · · Score: 1

    Get into the history of how it all started. Stallmans vision of free software. The GPL and the GNU system. How Linus fit his kernel with the GNU software to form a completed system. How the term "Open Source" came about, and why it differs from "free software". The first open source support company, cygnus. Eric Raymond and his work. VA Systems and when it went public. Revolution OS is a great documentary.

  47. Distributed Project Managment by grahamsz · · Score: 1

    The project management (if you can call it that) in the OSS world is quite different from the corporate world.

    Learning to write effective bug reports, sensibly isolated code, using CVS/SVN are important.

  48. Project Management on a disjunct group of people. by jellomizer · · Score: 1

    If you are going to tech in Open Source Software. You better teach Project Management with an accentually random group of people. You will have some people who will crank out whatever code you ask out of them, but they are the rare golden types, most other people you will need to work with their quarks. Like the Guy who wants to make the application go in a different direction you do. People who say they will do some code and end up not doing anything. People who Product just pure junk but believe it is the best thing to man kind. Try to get that humble guy who feels his coding isn't up to snuff while it is is better then all those people with egos the size of the galaxy. As for programming programming an OSS program is no different then any other program, it is more about dealing with people, who are doing it out of their own free will so sum will be encouraged and others will be like well I am volunteering so I don't need to do much.

    --
    If something is so important that you feel the need to post it on the internet... It probably isn't that important.
  49. Code Reading by murr · · Score: 1

    Code Reading: The Open Source Perspective by Diomidis Spinellis (previously reviewed here might be an interesting starting point.

  50. What I would do by lengau · · Score: 1

    I HAVE NOT read the other comments, so please don't flame me for redundancy.

    I believe that an OSS class should consist of the following:
    Start out with a bit of info (What is OSS? Why should you use this development model?) Only make that a doy or two, though, as most students will know already.
    Next, go into licencing etc. explaining the positives and negatives of each model.
    Bring in a guest speaker for whom Open Source has worked (if possible). Linus Torvalds, RMS, ESR, or the founders of just about any Linux-based Software corporation should work.
    If it's a programming course, have the students work on the OSS project of their choice. Make it a grade, but not a big one.

    And don't forget to give out the All-important Linux/Firefox/Other OSS CDs. I would suggest Ubuntu CDs since they come with The Open CD also. You can order them for free from the Ubuntu website.

    DISCLAIMER: I AM NOT TRYING TO PUSH UBUNTU!!! I am using a Gentoo system at home, but I think that, for beginning Linux users, Ubuntu is a nice system.

    --
    I really wanted to change my sig to something witty, but all I could come up with is this.
  51. UserPerspectives by kd3bj · · Score: 1

    Most of the posters have been looking at OSS from a political or a developer standpoint. Yet most people's experience with OSS is as a user or administrator. I think an important topic would be how to manage and administer OSS on desktop and server PCs. Discuss the tradeoffs of package systems (RedHat) versus release systems
    (like BSD) versus build systems (gentoo).

    I'd also like to see discussions of how to get ordinary work done with
    OSS tools and apps. You'd have to spend at least a little time talking
    about transitioning from commercial apps.

  52. Professionalism can make or break a project. by CyricZ · · Score: 1

    Actually, I was completely correct. I had the truth and facts behind me.

    What bothers me is that the image of the KOffice and KDE projects were tarnished by that rogue developer. As a long time KDE user, I wish nothing but the best for the project. That is why it bothers me so much when members of the development team working on KDE-related projects show a lack of professionalism.

    I sure hope that any executives from large corporations did not see that post of his, especially if they have to decide whether or not to use an open source solution.

    Open source software will never completely penetrate the corporate world if the developers go around tossing out such insults at users, customers and clients.

    --
    Cyric Zndovzny at your service.
    1. Re:Professionalism can make or break a project. by Anonymous Coward · · Score: 0

      Why should someone suffer a fool eagerly when they're not even being paid for the project? Sure, answering intelligent questions intelligently is important, but when someone says somthing so unprofessional as "You can't [add that feature/release to that platform/etc], it'll make you look bad!", the gloves come off.

      A slashdot post at that! What were you expecting? A retraction?

      Besides, there's no contracts here, no advertising, no marketing, no sales. The F/OSS world is strictly a meritocracy, if KOffice has what it takes then corporate america isn't going to care what the people that wrote it are like.

  53. Re:Fundamentals by jc42 · · Score: 2

    A class on OSS is a business, legal or philosophy class, not a programming class.

    Perhaps. But I've seen firsthand how difficult the task can be when the "student" has never done any programming. Remember that OSS stands for "Open Source Software". How do you explain that phrase to someone who has no concept of what "source code" is?

    I've tried this on occastion, typically with managers. But I've found it impossible to explain to them why I need this mysterious, incomprehensible stuff called "source code". Why can't I just examine the program itself? (Well, yes; given the right tools, I could. Given a lot of time ...)

    One of the main reasons for OSS is that if you (or your people) can't get at the source code, a program could contain anything at all, and you'd never know until it was too late. There could be spyware or some sort of time bomb hidden in there. The code could be quietly linking your machine into a network of zombies for running other people's code. There could be a routine working for a competitor, silently and subtly sabotaging your operations. Without the source code, and people who can read it, you're just volunteering to be a victim of whatever the software supplier wants (or has been paid) to foist on you.

    Such considerations are not what most people would call "philosophy", of course, and you don't get much business or legal attention to this topic. But it's one of the primary things you need to get across. It's why OSS has been making inroads into Microsoft's turf in so many governments lately.

    But how do you explain this to people who don't understand the phrase "source code"? About all you can do is take an authority-figure stance, and tell them that they have to accept it whether or not they understand.

    This isn't likely to be very persuasive with most business or legal people. Or philosophers, for that matter.

    So work on finding a way to explain "source code" to non-programmers. Good luck.

    --
    Those who do study history are doomed to stand helplessly by while everyone else repeats it.
  54. Starting off by mobby_6kl · · Score: 1

    You can start off the class by telling a joke, like this one:

    Q: What do you do when the OSS developer comes to your office?
    A: Pay for the pizza.

  55. Important thing: money by suitepotato · · Score: 2, Insightful

    There's not much in it. That right there may drive them right to closed source everything.

    OSS is held up today as the model of what software should always and forever be. It isn't and shouldn't be. It's one tool in the box.

    And it is a variable tool between the BSD, GPL, etc. license forms. Or write your own. Or go with classic freeware. Or make it shareware. Or closed altogether. Or partial. Where it ends and the rest of the box begins is and should be murky and totally dependent on what you are doing.

    After all, it is the coders' time. If they don't want to write code that isn't open, they're limiting their job spread. If they're willing to do it either way depending on the requirements, that would be better.

    What do they need to know technically? That using OSS' all too common attiude that "it's free, so what do you want?" with regard to quality is the sort of thing that is coming around slowly to bite it in the butt and ethical programmers will not use OSS, or anything else, to cover their backside instead of doing it right the first time.

    OSS or CSS or somewhere in between, it is what is learned in the guts of the CS course that matters and how it is done and what is done is a distant third.

    --
    If my grammar and spelling are off, I am [distracted/tired/careless] (take your pick)
  56. What Makes an OSS Class Work? by killtheOSSnazis · · Score: 0

    Easiest way to make it class work is to kill the opensource lisense crap and close it and sell it. Bam, it is now class work.

  57. Charge Alot, OSS'ers are Suckers! by Anonymous Coward · · Score: 0

    You should charge them a ton of $$. If they are willing to program for free....like PT Barnum said...

    "There is a sucker born every minute"

  58. Contributing.... by A+Unique+Nick+Name · · Score: 1

    How about picking an OSS project and contributing. This would give some hands on experience coding and introduce them to OSS. If it is a 3 credit class, it might be stretch to only talk about the philosophy of OSS. Some practical experience will keep the students interested and maybe recruit some new programmers.

  59. open source SENG by dgerman · · Score: 2, Informative

    I recently taught a course in OSS at the graduate level. I wrote a small summary which is available here: http://turingmachine.org/~dmg/temp/ossEd.pdf, and a presentation here: http://turingmachine.org/~dmg/temp/ossEd.pdf

    Of course should reflect the level of the audience. My course was research oriented.

    There are, however, 4 areas that I would stress they are covered in a OS SEng course:

    * Intellectual property and licensing
    * Social aspects
        * Motivation
        * Organization..
    * SENG Issues (tools, methods, etc).
    * Economics issues
        * Why to use OSS, how to make money, etc.

    On thing that I introduced in this course was an etnographic study: students had to participate in a project, and submit a contribution. That was one of the parts that
    students liked the most because the were able to experience OSS first hand. I strongly
    recommend doing it.

    My materials are available if anybody is interested.

    dmg

  60. Successful projects require professionalism. by CyricZ · · Score: 3, Insightful

    ... most OSS dev's couldn't give a fuck about their users...

    And that's fine! But then those same developers shouldn't wonder why their product fails to get used by governments, businesses, educators and other serious software users.

    Now while a lone developer may not care if their email fetching program becomes widely used, it's often the opposite for larger projects.

    It's particularly sad when one rogue developer who publically throws out insults is able to tarnish the reputation, painstakingly built up by many people over many years, of a project like KOffice or KDE.

    --
    Cyric Zndovzny at your service.
    1. Re:Successful projects require professionalism. by Anonymous Coward · · Score: 0

      The response that you got from the KOffice developer has in no way tarnished the reputation of the project. It showed everyone that you're very stupid and that you comment on matters that you have zero knowledge about. It has also become very clear that you're purposely trying to tarnish the reputation of the project by harping about this continuously. It's funny that everyone in the thread agreed with the developer and yet you continuously keep bringing it up like you have any form of support.

    2. Re:Successful projects require professionalism. by CyricZ · · Score: 0

      Indeed, the KOffice's image has suffered because of the insults thrown out by their rogue developer. I, too, as a longtime KDE user was quite disappointed.

      While I don't expect, nor care, if anything is done about that particular incident, I think it serves as a good reminder regarding the necessity of professionalism in the open source community. It's a good example to refer to when discussing professionalism, especially when trying to understand what sort of client/developer relations should be avoided.

      --
      Cyric Zndovzny at your service.
  61. Above all, tell 'em to... by Anonymous Coward · · Score: 0

    ...document their freakin' code!

    I've never seen poorer in-line and function heading documentation than open source Apache code.

  62. Software Development Process by MonkeyCookie · · Score: 1

    In addition, the study of OSS gives insight into the development process. One can discuss the advantages of the OSS development process, the disadvantages, where OSS development can go wrong (lack of participation, fragmenting projects) and how projects learn to get around these problems.

  63. Begin by recommending an editor by Anonymous Coward · · Score: 0

    A big first step would be to.....
    endorse emacs or vi..........

    Muhahaha

  64. Include Windows OSS, Cygwin, Knoppix & Eclipse by irenaeous · · Score: 2, Informative

    If your students are not running Linux, and their backgrounds are in the Windows and mainframe worlds, then it might be best to approach OSS from the Windows side. This is especially true if your student's are not willing to install Linux on their own boxen or on whatever they may use at their place of employment.

    So, be sure to include Windows based OSS programs such as found on the Open CD and check out the the source forge osswin site at http://osswin.sourceforge.net/.

    You need to give them a flavor of what Linux is like to be sure, so include Knoppix in the mix somewhere.

    It sounds like your course will be for programmers. If so, then introducing them to Cygwin would be a good idea. You may even wish to run KDE under cygwin on Windows (see http://kde-cygwin.sourceforge.net/

    For development tools you should cover the creating programs from the command line using make, etc., but also cover OSS IDE's -- Eclipse in particular would be a good one. And of course use g++ for C++ and Sun's java (I am not a purist so I think Java's Sun will suffice but Sun's Java is not regarded as true OSS, so you may need to find something else for Java.)

    If you use g++ with cygwin on windows, then also consider introducing them to minGW so they can make their programs run natively on windows.

    I run both windows and Linux at home, and prefer Linux. But at work I have to use a window box. I have cygwin with X installed and use both firefox and OpenOffice as replacements with no problems. I am posting to let you know about the windows possibilities because I beleive that you may encounter some resistance if you require your student's to run Linux. OSS on windows is a good way to introduce those who are new to OSS and Unix like file systems and tools to newbies.

  65. How to deal with flamebaiters by Anonymous Coward · · Score: 0
    Well, customer relations should be handled by the Customer Relations Department, whether open source or proprietary software. So that's a whole different course, in a different school, say the Public Relations course in the School of Business. For example, the "flamebait" reference below might tick off a Microsoft Word developer, would it not? So when you chat with Microsoft folks, they are paid and trained to deal with certain difficult customers. This avoids all sorts of possible harm, for example Steve Ballmer throwing chairs & whatnot.
    "Why even bother with word processors these days when LaTeX is more than capable of the vast majority of document typesetting needs? It does take a bit longer to learn that Word, but everyone I know who has learned it has become far more efficient and can produce documents that are far more professional."

    Then there was a question about when KOffice would run on Windows, with the "troller" seeming to know more than the developers, especially considering KDE itself already runs on Windows. Imagine going in front of Bill and questioning when Longhorn will be delivered?

    1. Re:How to deal with flamebaiters by CyricZ · · Score: 1

      Your idea of programmers not dealing with customers is outdated. These days, for successful software, the clients need to get into direct contact with the programmers. The programmers and designers need to know exactly what the clients want and what exactly the clients need. You don't get that kind of intimate communication without developers and programmers consulting directly with the clients and consumers. And in order to get the contract, often times the developers and programmers must project a professional image.

      Try using the current KDE port to Windows. It is less than ideal. In any case, what was being discussed was the planned native port of KOffice and KDE 4.x to Windows. While it is most likely quite possible, the original problem was that it was being promised within a year. That is an unreasonable claim to make. When that fact (and yes, it is a fact) was pointed out to the KOffice developer, he was unable to maintain a professional image and thus resorted to those insults. And yes, those insults did hurt the image of the KDE project.

      --
      Cyric Zndovzny at your service.
    2. Re:How to deal with flamebaiters by Anonymous Coward · · Score: 0

      Cyric you really should stop posting. You're not a programmer and you generally have zero knowledge of the topic you're talking about. That KOffice developer gave you what you deserved and in all honesty he shouldn't have even bothered responding to trash like you. Stop posting your garbage because no one cares. Everyone agrees with the KOffice developer and hates you. Notice that not one of your comments in that thread got modded up and that absolutely no one that posted agreed with you. I think I speak for the majority of Slashdot when I say; Cyric shut the fuck up you clueless piece of trash. Cyric is the poster child for abortion.

  66. Go back for clarification by ediron2 · · Score: 1
    I've just glanced thru the comments and it seems every commenter else took a different tangent than my initial reaction. The ideas do a great job of showing the wealth of topics and issues facing anyone involved in licensing. But are you sure they're not looking for a course that explores various OSS software? Technical, not philosophical/legal/political? Or even some blend of the two?

    The nontech aspects of OSS could make for an interesting course, admittedly. But it'd be interesting on a par with philosophy 101: mind expanding but directly applicable to just a few people (people making IP license decisions) and hampered from reaching sure conclusions.

    OTOH, the Tech aspects of OSS could:
    • start with handing out cd's of a few key OSS software bits and introducing key OSS concepts.
    • assign a feedback paper from students ("What I know about OSS, and where could I use it for my work." -- must be written in OpenOffice.org or another OSS word processor), then
    • select a few OSS projects (a browser, a database, a blog/CM app),
    • teach using them... downloading, installing, tweaking, etc.
    • contributing to them (best if a small feature/bug is assigned to small teams),
    • research problems via various tech-support methods (usenet, user groups & mailing lists, and prepaid or support-contract vendors).
    • Shrink your legal/political lecturing down to a day or two early on, plus a steady trickle of ongoing attention.
    • Talk Creative Commons, warez, OSS business models, patent law and other Intellectual Property issues, too.


    At the end of a policy lecture series, all you'll give your class is a deep-seeming understanding of OSS issues (I say 'seeming' because a lack of much case law adds a lot of uncertainty).

    For the Tech one, you give students enough understanding to think through OSS issues themselves, and you guided them through the toughest part (for most people, even techies) of the real OSS learning curve: where do I start and what do I do when something goes awry?

    Oh, and grow a mailing list based on this... let your gung-ho OSS advocates feed off each other (and off people from previous/subsequent years) whenever they need to talk about some prickly OSS topic. Unlike pointing all them noobs at slashdot, you're giving them a security-blanket they can rely on in *really* becoming OSS users and advocates. The worst moments I've had in using Apache, Debian and a few other prickly OSS apps were times when I couldn't find online help... at times like that, a few OSS-using friends/coworkers helped me more than anything else.

    But hey, if the department wants 60 hours of policy and comparative contract law analysis, use one of these outlines above. It'll be animated enough (since the only people that want an in-depth look into OSS are going to know what it is, but will disagree on the details). The idea initially sounds like a fun upper-level course, but ends up sounding like hell to me: YANAL, neither is anyone else in the room, EVERYONE has preexisting opinions, there are a thousand different motivations for loving/hating OSS, and legal precedent or case law is so far close to nonexistent. Might as well babble about Schopenhauer in Swahili.
  67. Re:Fundamentals by Atanamis · · Score: 2, Informative

    So work on finding a way to explain "source code" to non-programmers. Good luck.

    I've actually had little difficulty explaining "source code" to people. It takes me about 20 minutes, and contains the following content:

    1) The computer can only understand 1's and 0's. This is how you instruct it how to do at a low level. It is possible to make an "executable" file using only 1's and 0's, but this takes a long time and is pretty hard to do. Most programmers can't even understand what the 1's and 0's mean.

    2) Each kind of computer has an "assembly language". This is basically using short cryptic words to represent the commands you make using 1's and 0's. It makes it easier to program, but is still really hard. You use a special program called an "assembler" to make an "executable" program. (An executable program being one you can click on to run.)

    3) Most programmers use a "higher level" programming language, which also allows them to structure and comment their instructions for the computer. While it is still hard to understand, it is much, much easier than either "machine code" (1's and 0's) or "assembly language" (short cryptic words).

    4) Being able to see the language that the program was written in makes it much easier to understand what the program is doing. This is called looking at the "source code". "Source" because this is the words that the program was written in, and "Code" because it is still a tricky language you need a programmer to understand. A programmer looking at the "source code" though can figure out how the program works and even make improvements. If they don't have the "source code", it is really hard to tell what the program is designed to do by looking only at the "machine code".

    The only people I have ever found to have difficulty understanding this are those with an attention span under 20 minutes. Unfornately, this may include many managers. Hopefully it does not include the students taking a class on Open Source Software (whom one might suspect might be familiar with what "Code" means).

    --
    Atanamis
  68. OSS Programming? by MaestroSartori · · Score: 1

    As other posters have said, it's not clear if you want a "Philosophy of OSS" or "Production of OSS" class. If it's the latter, I'd take the following approach as a starting point:

    1) Using a simple (scripting maybe) language, get the students to write a simple program, for evaluation purposes.

    2) Randomly assign each student's program to a different student. Ask them to extend the program in a to perform a given additional task. This'll be a good example of how different coding styles etc impact on reusability, ease of comprehension etc, and shows that just having the source isn't always enough to let you do useful work.

    3) *After* this, go through discussion of coding standards, commenting styles/tools, design documents and so on. This section can now be run like a regular technical class. Illustrate good and bad examples using OSS projects you're familiar with, proving that having the source even purely as a teaching aid can be helpful.

    4) Now run through 1 and 2 again with more complex programs (possibly in groups). With the lessons learned in 1 & 2, and the knowledge gained from 3, any advantages and disadvantages can be discussed and expanded upon.

    Not specific to OSS really, this approach was used to good effect in a few of my university classes. It certainly taught me a few lessons! :D

  69. Use Examples Like "GIMP vs. Photoshop" by Sundroid · · Score: 1

    Or "OpenOffice vs. MS Office", or "Firefox vs. IE". Be fair. Open some minds. I don't know about others, but OSS is a big part of what I do -- I use Firefox 90% of the time and IE 10% of the time; I got OpenOffice in my hard drive but rarely use it (in this case, MS Word/Works wins); I use GIMP 100% of the time (exhibit: my blog at http://sunandfun.blogspot.com/), because the price of Photoshop ($600) scares me away.

  70. Gah by Lifewish · · Score: 1

    I'm a Whitespace user myself, you insensitive clod!

    --
    For the love of God, please learn to spell "ridiculous"!!!
  71. Missed one by RingDev · · Score: 2, Interesting

    Lesson 13: How to make OSS profitable.

    -Rick

    --
    "Most people in the U.S. wouldn't know they live in a tyrannical state if it walked up and grabbed their junk." - MyFirs
    1. Re:Missed one by Anonymous Coward · · Score: 0

      Lesson 13: How to make OSS profitable.

      no no

      Lesson 13: ???
      Lesson 14: How to make OSS profitable.

    2. Re:Missed one by Anonymous Coward · · Score: 0

      Thats the day the lecturer takes off sick and hands to a poor postgrad underling to try to dream something up

  72. I'm in an OSS class at UC Berkeley by BrianWCarver · · Score: 1

    Pam Samuelson, Steven Weber, and Mitch Kapor are team-teaching a course on Open Source this semester in UC Berkeley's School of Information Management Systems (SIMS). The schedule of readings is available online. In your situation, dealing with Continuing Education students, many of whom you expect to have programming experience, I would pick and choose from the readings on this syllabus and add your own components geared to your audience. Something participatory would be a good idea. If you do get all programmers, have them form teams and pick projects to contribute to and write up their experiences. If you get some non-programmers allow them to form a team working on contributions to open source-like projects such as Wikipedia or something.

    --
    Like Digital Freedoms? Then donate to EFF before they're gone.
  73. Stevens & FH Regensburg classes by hubertf · · Score: 1
    I definitely go into OSS licensing in the courses I give at the University of Applied Science at Regensburg, Germany and also this fall at the Stevens Institute of Technology in Hoboken, NJ, USA - ~noone knows what's in the GPL, go through it and discusss the single points. Then go into alternative licenses from that, I show BSD as an alternative.

    In general, my OSS lecture is more of advanced system administration, advanced programming and advanced operating systems, pulling many things together - the tools used in open source, install mechanisms, software and package management, source code management, etc.

    See the (english language) class webpage (also available in german) for more information, and feel free to send mail.

    - Hubert

    1. Re:Stevens & FH Regensburg classes by hubertf · · Score: 1
      The URL of the english class page is wrong, it should be http://www.cs.stevens.edu/~feyrer/OS/en/. Sorry!



        - Hubert

  74. No Licensing/PM, Most students want to DEVELOP! by managedcode · · Score: 1

    If I were to enroll in your class, I would hate to see you talk about licensing and PM stuff. Its for empty personalities, like Program Managers. As a student I would be more interested in being a developer on Open Source Technology. Split the class depending on their interests.
    Open Source OS Development and Deployment - Develop a OS module for Linux/BSD and test it out.(Building OS is not so easy, took couple of days for me) Any one can install, set some high expectations like they implement a Cluster or something......
    Tools/Product Development They can participate in development of compilers or gnutelephony or helix streaming server or embedded tools....
    Web Programming LAMP is a Must. Let them Build whatever they want.
    Get them involved with Open Source projects and teach them how the development process works.
    Once again NO Licensing and PM stuff, pleaseeeeeeeee.

  75. First comes first... by Anonymous Coward · · Score: 0

    Teach them to write code that doesn't suck, first.

    Those who stay will know about OSS anyways.

    Those who go (because they can't code) won't need to know about OSS.

  76. Re:Fundamentals by Pig+Hogger · · Score: 3, Funny
    I've tried this on occastion, typically with managers. But I've found it impossible to explain to them why I need this mysterious, incomprehensible stuff called "source code". Why can't I just examine the program itself?
    Simple. Write the prototypical "Hellow, orld" program in any compiled language, and print out the source code and a hex dump (sans ASCII) of the executable.

    Show both to boss.

    (YMMV according to the boss's hair pointyness...)

  77. Culture. by Anonymous Coward · · Score: 0

    It's not only a technical process (quick patching and frequent releases) but also a social one.

    One must learn to share.

  78. Make it Free by nate+nice · · Score: 1

    In spirit of OSS, the course should be offered free and all materials related to the course, including but not limited to: Syllabus, materials, software, lecture, notes and office time should all be free.

    --
    "If you are a dreamer, a wisher, a liar, A hope-er, a pray-er, a magic bean buyer ..."
  79. python by sniggly · · Score: 3, Insightful

    I'd really let them have a go at python, it's a great language and allows for RAD of pretty much any kind of application, can talk to virtually everything that talks back easily and well.. google uses it for a great amount of projects which at the moment speaks for itself.

    --
    Of those to whom much is given, much is required.
    1. Re:python by stefanq · · Score: 1
      Yes,

      with python they will get an easy to learn OO language with clean and expressive syntax.
      And with an extensive standard library and 3rd party resources for whatever you could think of.

      An OO course could concentrate on OO and not bother with language issues, the students will enjoy an easy learning curve.

      But after that, it may be difficult to convince them to use Java or C++ because they will experience much lower productivity with these.

  80. From the class I'm teaching right now... by sailracer6 · · Score: 2, Interesting

    Here's an overview of the topics I'm covering this semester in an OSS course I'm co-teaching. The audience is undergrads at a major university...

    Note that we were also trying to improve the general technical literacy of some of the CS students.

    1) Open-source Projects -- History, Present, and Future
    2) Unix Philosophy -- ESR's "Art of Unix Programming" was incredibly useful here
    3) Using the Unix Toolchain
    4) Using the classic text editors (Vim/Emacs)
    5) Learning Python / Programmatically Manipulating Text
    6) Source Control Management Systems
    7) Bug-tracking
    8) Open-source team communication
    9) Licensing your OSS (the intention is to have a working project completed by the class in Python by this point)

    Right now we've just passed #4 and have settled on a simple project (a Web app) that the class can work together on in Python. That way, we can use it to demonstrate how to use the tools we talk about in topics 5-9.

    1. Re:From the class I'm teaching right now... by DerekLyons · · Score: 1
      Here's an overview of the topics I'm covering this semester in an OSS course I'm co-teaching.
      Except - it's not really an OSS course, it's a UNIX course with a little OSS wrapping. This does a vast disservice to your students by implying that the two are equivalent. (They aren't.)
      Note that we were also trying to improve the general technical literacy of some of the CS students.
      A false goal, but one that explains why you've diverged from teaching what you claim to teaching something else entirely.
      Right now we've just passed #4 and have settled on a simple project (a Web app) that the class can work together on in Python. That way, we can use it to demonstrate how to use the tools we talk about in topics 5-9.
      In other words, you are teaching programming rather than OSS.

      No wonder CS graduates are so useless.

  81. Depends a lot on the language by IdahoEv · · Score: 1

    Your constraints vary a lot from languange to languange.

    But any class needs to start with a good, solid constructor. It's your foundation.

    After that, correctly-privileged members, comprehensible method names, and solid documentation will ensure that you're well on your way to a solid class.

    --
    I stole this sig from someone cleverer than me.
  82. Re:Fundamentals by sameb · · Score: 1

    I find analogies with books work best for almost every sort of comparison. The best analogy, of course, is when people say, "Isn't the program finished? What do you do all day?" That easily translates to, "No, it isn't. It's a book that needs constant revisions, edits and changes. People send in typos and grammatical errors and plot suggestions and new characters, etc..." (Well, that's more of a metaphor.)

    As far as "what is source code", that's somewhat comparable to a book review versus the actual book. You can't read the book review and honestly say it's a great book -- you have to go to the book itself. A better comparison, though, is translations into different languages. If you want to critique the book in the form the author intended, you need the original -- not a copy that has lost some of its meaning in the translation.

    There'll be no exact comparison, simply because there's so few things that have the same relaionship. What you need is to figure out what the source code actually gives you that a proprietary product wouldn't. Many times, there's not much. For instance, if an "open document format" was required, it wouldn't much matter if the code itself was proprietary, because the goal of keeping the format open can be met.

    Actually, thinking about it a bit -- a very good analogy is DNA testing. If someone mysteriously shows up and claims to be person X, you can verify that by testing DNA. If a program claims to be doing one thing, you can verify it by reading the source code.

    There's tons of different analogies for each angle of "source code", none of them will always be spot-on, but depending on the situation, there's one that'll meet your needs.

  83. Be sure to include.....Nessus by Anonymous Coward · · Score: 0

    "The key to success of an OSS is how much you can get funding in VC and how long you can keep them happy. Obviously this means profiting from the business model surrounding the product. So not only do you have to be a good at marketing yourself or the product, but you should have some business sense to make that project a success."

    Nessus

  84. "How to join a project" would be interesting by iabervon · · Score: 2, Insightful

    You probably really want to chat with the program director about what the class is supposed to be about; it could be anything from "how to use OSS for regular computing" to "how to start a successful OSS project".

    I think it would be good to have a class on how to get involved with an OSS project. There are a number of things that are a bit unexpected if you're coming from an industry development background, such as:

    People are really blunt. If you do something wrong, your work will be trashed in public by someone famous. If you do something right, you'll be thanked and credited. This isn't a reflection of their opinion of you or your skills; it's directed entirely at the particular patch. The same person on the same day may praise one of your patches and insult another. You'll even get people praising your idea, insulting your implementation, and applying their own version. Don't take any of it too seriously, and judge your value to the project only over a large amount of work.

    People will ask you for stuff. It's okay to not do what they want. If you'd rather do something else, do it. Doing what they want is a good way of getting nice emails, though, and it's easy to feel guilty about not doing things.

    You have to figure stuff out yourself. There probably won't be instructions on how to get up to speed on the project. You have to pick something you want to do, and figure out how to do it with a lot of reading code and trial and error. Projects generally don't know what to do with people who want to be helpful without a specific goal.

    You don't need permission for anything. If you want to write something, just do it, and tell people you're doing it. If you think it's going to be controversial, announce it before you get very far, in case somebody has a good fundamental objection.

    The biggest need is always documentation. The best documentation comes from people who try to use the program, have a problem, get it explained, and write up the solution. The second biggest need is always testing. The best testing comes from people who try to use the program and find that it's doing something definitely wrong. Developers almost always instinctively avoid doing things that don't work, and rarely hit those cases. There's often plenty of low-hanging fruit if you want to get involved just by running the program and fixing what comes up.

  85. Dont Preach by briancnorton · · Score: 1

    I'll leave the curriculum to you, but I would suggest you teach the class from a business perspective, not as a preacher to a congregation. It's demeaning and unprofessional. It's important to make note that there are good reasons to use non-oss software, and that OSS is about the source, not the cost.

    --

    People who think they know everything really piss off those of us that actually do.

  86. Discus interacting with the community by Anonymous Coward · · Score: 0

    One of the biggest problems people (especially professional people) have, is interacting with the communities around the OSS software they are using. The community is not free tech support or unpaid labor, but when properly nurtured and given the right incentives can provide both technical and development support.

  87. Practical Application by Ummu · · Score: 1

    Maybe you could force them all to contribute to a big-ish GPLed Project? That would teach them how it actually works, not just the theory and the legal stuff.

  88. Indeed, the KDE project has suffered. by CyricZ · · Score: 1

    You are correct in stating that the KOffice developer was completely wrong to throw out such insults like that in public. Like I've said before, even the janitors and burger flippers at McDonalds know not to insult the customers. I would hope that open source developers, especially those on a more widely known project like KOffice, can hold themselves to at least the same standards as the lowliest of McDonalds employees.

    --
    Cyric Zndovzny at your service.
    1. Re:Indeed, the KDE project has suffered. by hkmwbz · · Score: 1
      "You are correct in stating that the KOffice developer was completely wrong to throw out such insults like that in public."
      He never stated such a thing.

      Clearly, you are nothing but a troll. You post at a rapid rate, misrepresenting what other people are saying, and generally being a pest. In addition to this, you pretend to be on a moral high ground.

      And you bring up the time when the KOffice developer owned your ass in front of everyone all the time. It seems that others are on to you as well. Rest assured that you will continue to be exposed as long as you keep trolling and posting lies.

      --
      Clever signature text goes here.
    2. Re:Indeed, the KDE project has suffered. by CyricZ · · Score: 1

      Indeed, it did look terrible for that particular rogue KOffice developer to go around insulting longtime users of the KOffice and KDE software. And then to blame his indiscretion on a headache? That's not a valid excuse for such behaviour. Any McDonalds worker pulling a similar stunt would've been fired instantly.

      --
      Cyric Zndovzny at your service.
    3. Re:Indeed, the KDE project has suffered. by hkmwbz · · Score: 1
      "Indeed, it did look terrible for that particular rogue KOffice developer to go around insulting longtime users of the KOffice and KDE software."
      Indeed? Stop acting like I agree with you. I don't. You are a troll, and I disagree strongly with your pathetic behaviour and lies.
      "And then to blame his indiscretion on a headache? That's not a valid excuse for such behaviour. Any McDonalds worker pulling a similar stunt would've been fired instantly."
      Who cares? You were caught with your pants down, lying about these people's work. You deserved a beating, and you got one.
      --
      Clever signature text goes here.
    4. Re:Indeed, the KDE project has suffered. by CyricZ · · Score: 1

      All of the other members of the KDE and KOffice projects should care that a rogue developer claiming to work on their projects is going around insulting longtime KDE and KOffice users. After all, many of these people have worked for years to built up the respectable image that KDE has enjoyed. It would be a shame if their years of hard work were destroyed by a single developer going around tossing out insults.

      --
      Cyric Zndovzny at your service.
  89. Re:Fundamentals by malfunct · · Score: 1

    While OSS does stand for open source software, source need not be source not be source code nor does open source necessarily need to be tied to software. Open Source is about having the method of creation of an item open for everyone to use, and furthermore to change as they may so long as they keep it open. It can apply to music, writing, board games and cola recipies just as an example.

    I do believe that a class in open source should be about legal implications, philosophy, business issues, collaborative process and issues of that sort and have very little to do with writing code.

    --

    "You can now flame me, I am full of love,"

  90. Re:Fundamentals by Hektor_Troy · · Score: 1
    a hex dump (sans ASCII) of the executable.
    Maybe I'm missing something here, but last I checked, HEX was {0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F}. That's definately a subset of ASCII.

    Oh, now I get it - you want to give him a blank sheet, right?
    --
    We do not live in the 21st century. We live in the 20 second century.
  91. Marketing 101 by Anonymous Coward · · Score: 0

    OSS is a geekified version of marketing. At least in marketing, there's girls!

    lmstar

  92. Possibly.. by NotAgent86 · · Score: 1

    by following procedures

    1. Re:Possibly.. by NotAgent86 · · Score: 1

      My mistake - read it as how to teach an OO class

  93. simple by Anonymous Coward · · Score: 0

    Here's a basic layout I would like to see.

    * What is Open Source?
    * What is the environment of Open Source today? Linux? BSD? Distros? Gnome? KDE? IBM? Novell? Redhat? Licenses and politics going on today.
    * What types of roles exist within the community. Architect, Developer, bug reporter, user and zealot.
    * What types of tools/apps are out there and are widely used in server rooms, developer workstations, embedded and home/office areas.
    * Big issues for the future in OSS. Usability and efficiency in desktop environments, open standards, software patents etc...

  94. oh, I thought OOP Class by Anonymous Coward · · Score: 0

    The summary makes sense now.

  95. eh? by dexomn · · Score: 1

    "(programming experience) ranging from only mainframes to C++"

    Aren't those the DEC guys that Microsoft hired to build NT?

  96. Nah, forget all that. by fireboy1919 · · Score: 1

    This isn't about getting people to know about OSS.

    Its about filling the seats. You know what you need for that? Women.

    Get the babes in there, and the programmers will be all about it. Just combine it with another class. Perhaps the open source software and women's studies, or open source software and elementary education. If you're really bold do open source software and cheerleading practice.* Then teach it on whatever you want.

    *All of these classes, which I am clearly stereotyping as predominantly female were, in fact, predominantly female at my college. So it would work there if nowhere else.

    --
    Mod me down and I will become more powerful than you can possibly imagine!
  97. Python... by Anonymous Coward · · Score: 0

    of course, you should cover philosophy, etc...

    but when it comes to actual coding time, don't forget the most OSS of languages in existence...python!!! Php would be okay, too, perhaps...

  98. My 2 cents by holy+zarquon's+singi · · Score: 1

    First, the philosophical, legal and sociological issues can be covered in about a class.

    Then a class on open source environments. 1 practical class being a guided tour of some kind of Debian based live distro. I'd make them spend the first quarter of the lesson on the command line before they hit X11. A further class on obtaining open source software. A tour of apt-get, sourceforge and CPAN - questions like "obtain software that can do the following?".

    A lesson on Documentation. Finding it, and reading it, and knowing when to delve into the source.

    Then I'd teach perl 0.101 (like ultra short 101) with an emphasis on obtaining software CPAN, and doing stuff with it. Just because there's such a rich vein of good quality CPAN modules...

    --
    "...we should just trust our president in every decision that he makes and we should just support that." B.Spears 2003
  99. OSS Class Wish List by hackus · · Score: 1

    1) How to Design and Build Infrastructure you understand.

    Teach your students that building computing infrastructure through source code, instead of hitting clicking on the setup button.

    2) Attack security and loopholes all software has by teaching your students to own the infrastructure they build, through the use of source code and the GPL IP way.

    Teach your students the that if you understand your infrastructure, you can correct its problems in a proactive way, if you have the source. Not, waiting for vendors to decide if it is economically advantageous.

    3) Teach your students key refresher courses in good software engineering practices for managing source code. Using source code debuggers, and IDE's such as Eclipse and version control to track and secure auditing of the security of that source code using subversion/cvs.

    Review the fundamentals in software construction and begin with William Glass, and of course Edsger Dijkstra.

    4) Finally, tell them you can make millions of dollars managing and selling source code for customers who want to buy your services, labor and peace of mind.

    Make them see how software constructed by an organization allows business processes and methods to be unique. Why? What you own is much more flexible per dollar, than buying whole business methods off the shelf like any of your competitors can with huge money sink holes in the existing CRM, ERP markets.

    After all, if your competitor can buy the same methods of doing business simply by writing a check too, what does that buy you?

    It took me 20 years to come around to seeing the errors of my ways and many millions wasted.

    Don't let your students do the same.

    -Hack

    --
    Got Geometrodynamics? Awe, too hard to figure out? Too bad.
  100. class on Open Source at UC Berkeley by Anonymous Coward · · Score: 0

    UC Berkeley's School of Information Management & Systems has an excellent class on Open Source. The syllabus is available online: http://www.sims.berkeley.edu/academics/courses/is2 96a-2/f05/syllabus.html

  101. This free book offers many examples of FOSS use by rubylisper · · Score: 1

    The free pdf at this location would be a great textbook. http://www.freedomsoftware.info/book.pdf Free Software for Busy People.

  102. OSS is about licensing. Period. by Arandir · · Score: 3, Insightful

    OSS is about licensing. Period. While the subject may make a good topic for one class session in a larger course, an entire course devoted to it is overkill. It would be like having an entire class on "Shareware". In other words, pointless.

    Instead, teach a class on Linux or BSD device drivers, or Unix system architecture, or Xorg programming, or LAMP, or Python scripting, etc., etc.

    --
    A Government Is a Body of People, Usually Notably Ungoverned
    1. Re:OSS is about licensing. Period. by maxwell+demon · · Score: 1
      OSS is about licensing. Period.

      Ok, so far for the theory part :-)
      Of course, a successful OSS project is very much about things like code reuse and community (if you are developing your software alone and from scratch, and don't intend to change that ever, OSS licensing doesn't get you any advantage). Also, for OSS, the development processes are usually different, because it's driven mostly by volunteers, and therefore you cannot simply command what to do, which makes OSS projects much more democratic than closed source projects (which doesn't mean that they are completely democratic; after all, there's still the distinction between those who have access to the repository and those who don't; OTOH, if the maintainers use this position in a way the community doesn't like, they risk a fork followed by a developer drain (see the egcs project as example). Indeed, forking is mostly an OSS topic: While proprietary software in principle could fork as well, the probability is quite low because to fork a project you need the source code and the right to develop it on your own; especially the second is something you'll have a hard time to get from a company.
      --
      The Tao of math: The numbers you can count are not the real numbers.
    2. Re:OSS is about licensing. Period. by Arandir · · Score: 1

      You would have a point, except that I've never seen the corresponding "Proprietary Software" class, or any of the corresponding topics. Granted I'm a developer and completely ignorant of those fluff classes managers take to pad out their MS, but I still can't imagine a proprietary software track in a school.

      --
      A Government Is a Body of People, Usually Notably Ungoverned
  103. This free (online) book might be useful. by kfogel · · Score: 1

    This is a completely shameless bit of self-promotion, but:

          http://producingoss.com/

    That's the web site for the new O'Reilly book "Producing Open Source Software: How to Manage a Successful Free Software Project". The book's content is all there online, under an open copyright. Even when I was writing it, I was thinking of the classroom as one place where the book might be useful. Have a look and see what you think.

    Best,
    -Karl Fogel

    --
    http://www.red-bean.com/kfogel
  104. Great Opportunity.. by ShaolinTiger · · Score: 1

    To spread some love for OSS!

    Of course you need to cover the different licences (preferably objectively), outlining the strenghts and weaknesses of each.

    I think RMS is worth a mention.

    Make sure you cover the free vs freedom (gratis vs libre) thing properly.

    Introduce how OSS tools can make your development life easier (Flyspray, Bugzilla, gcc, gcc+, gdb etc. etc.)

    Perhaps show how to make a minor change on an OSS app, and how this is good.

    Maybe as an end of semester excercise, tell each group of students to find one OSS they particularly like, and submit one of the feature requests/bugs. Those whose patches get accepted get extra kudos.

    --
    Share your Knowlege - Kung-Fu Geekery
  105. OSS Class? by HermDog · · Score: 1

    I don't know what all the fuss is about. The only tricky part about your OSS class is how strict its terms on. Some OSS classes will only have public:protected: sections. Of course, with multi-licensing, your OSS class can have both public: and protected: sections. But you have to carefully read the fine print if you want to derive any private classes from it.

    --
    JADBP
  106. A course on Open Source by Anonymous Coward · · Score: 0

    San Francisco State University is running a new course on open source. From their site:

    http://is.sfsu.edu/node/29

    The IS department is offering a new elective titled "Managing Open Source" in Fall 2005. Here are the details:

    Detailed study of the management of open source software and related processes: open source management issues, integration of open and proprietary software, licensing, copyright and intellectual property rights. Also examines open source business models in the enterprise.

    http://www.sfsu.edu/~bulletin/courses/30835.htm

    Course Objectives

    The student will be able to:

    * understand the similarities and differences between open and proprietary software;
    * evaluate licensing, copyright, intellectual property rights and business models related to open source software;
    * identify issues such as standards, interoperability, and source code management in managing a heterogeneous Information Systems environment;
    * describe the challenges in integrated management of open source and proprietary software in the Information Systems infrastructure;
    * use Return on Investment (ROI) and Total Cost of Ownership (TCO) approaches in the acquisition and use of open source software.

    For questions, contact the IS department or Dr. Sameer Verma

  107. Version systems by mwvdlee · · Score: 1

    The single topic I had most difficulty with starting on OSS was the whole CVS business. Not so much the technical details but rather the whole human process of getting patches into code.

    This is still one of the greatest bariers that stop me from contributing patches for many OSS projects; some projects require lengthy and confusing processes before one can even apply a simple fix.

    I remember having an obvious fix for an obvious bug (email timestamp was encoded using locales; italians use '.' in time rather than the RFC-standard ':' so an italian localized would wrongly encode the time) in an OSS Delphi comms library (Indy). I mailed the bug and fix location several times (since, being outside the main team, my patches wouldn't be accepted) and it took over 2 years for the bug to get fixed.

    This is obviously an extreme, but even getting patches in Apache or Linux is hard. So basically, an OSS course should focus on how to work in the large variety of OSS projects and how to work with the code.

    --
    Slashdot social media options: AIM, ICQ, Yahoo, Jabber and Mobile Text. Why no MySpace?
  108. Communicating the Community process by betasam · · Score: 1

    Teaching an audience about the OSS community through lectures (be it on business models, or on the collaborative tools used) may not be very easy. I have been working for a company that encourages new entrants to first start off or join or maintain an orphaned OSS project. So initially we show them where to look for licensing information and on collaborative tools, and further on mailing list etiquette. Assuming the audience/candidates have a sound theoretical background they should be able to understand and begin participating. Participation, being the best university, is what should be encouraged through the lectures. In most part, the audience/candidate has to understand the community process, the way it works. Further, this differs from one OSS project to another. Some may be purely meritocracies (when it's a small and specific product), while in the case of projects like the Linux Kernel, there may be tons of other issues affecting it. These can only be experienced, not explained. This is my point of view, others may tend to differ.

    --
    No Greater Friend, No Greater Enemy! (Lucius Cornelius Sulla)
  109. Extreme Programming by davro · · Score: 1

    http://www.extremeprogramming.org/
    http://www.extremeprogramming.org/rules.html

    Extreme Programming (or XP) is a set of values, principles and practices for rapidly developing high-quality software that provides the highest value for the customer in the fastest way possible. XP is extreme in the sense that it takes 12 well-known software development "best practices" to their logical extremes

    Teacher, if your students do not excel you then you have failed.

  110. OSS = Business by network23 · · Score: 1

    "A class on OSS is a business, legal or philosophy class, not a programming class."

    Indeed. N3P offers a new two-year college level training in how to become a successful Project Entrepreneur in Open Source. Students will learn not only the technical possibilities, but also how to exploit new business opportunities, manage profitable ideas, and create flourishing businesses.

    All students are using Apple iBooks.

  111. Work on participation by pdoubleya · · Score: 1

    I'm active in two FOSS projects, both LGPL, and I think that outside of licensing and philosophy, the most important thing to teach is how one participates in these projects and how it's different from traditional models.

    One of the two projects has a titular lead programmer (who started it), but the committers are all welcome to refactor heavily as long as a) they don't break the code, b) they are willing to listen to criticism and discuss their proposals and c) they maintain ownership and don't walk away before the work is finished and completely integrated.

    On the other project, there is a separate "incubator" sub-project where new ideas are tested and demoed, discussion is based on that, proposals are made, and the changes then accepted into the main branch.

    So how one contributes is one thing.

    Another is that different from for-pay work, people may appear and disappear from the project over time, often doing a lot of work and then none for months at a time. It can be lonely--you might have a lot of energy, a lot of ideas, and almost no one to discuss them with. You may be on your own much of the time. The "community" feeling shows itself over long periods of time and during the release cycles.

    There's also more direct acknowledgement of contributions by individuals than in for-pay work.

    Last point would be that writing software is hard work, and if you're active on a project, you'll likely spend much time, many nights and weekends, writing code without compensation. That can lead to greater pride of ownership, but on the other hand, can lead to burnout as well.

    I think the social aspects of FOSS development are some of the most interesting ones to talk about.

    Patrick

    --
    "I honestly would vote libertarian if their candidates weren't usually total cooks."--slashdot poster
  112. Teach them bug tracking by cerberusss · · Score: 2, Interesting
    I had some irritations in using OpenOffice, logged a bug and waited two-and-a-half year before it was fixed. I wondered, why the flying fuck did it take so long? Because it's all open source, I could dive into OO.org's issuezilla and discovered it's not always plain and easy. I was amazed by the complexity.

    My advice: ask your students to look at one of the big OSS project its bugzilla. They all have a few bugs which have a history of YEARS. Tell them to pick such one out, and comment on its history (why, how, who, where, when).

    They'll get a feeling for the complexity of software projects. As a side dish, let them fix the bug.

    --
    8 of 13 people found this answer helpful. Did you?
    1. Re:Teach them bug tracking by cerberusss · · Score: 1

      Must not reply at own post, however just to brag: I documented the effort here.

      --
      8 of 13 people found this answer helpful. Did you?
  113. Project management by Fulkkari · · Score: 1

    This applies to all projects, but I think it is biggest thing to consider in open source development. Many people here have said that you need to discuss about licensing, but it is really not that important that you would use more than one or two sessions about it. It is basically a one time choice.

    What you need to do is talk about how to work together in open source development. I think this is the number one thing why open software fails. Working over distance, deciding tasks, handling bug reports, designing, implementation... there are quite a bit of things to consider. When you are going to work on a open source project you are more likely to have to consider these things from the scratch than working in a company.

    It would also be good to introduce services like SF.net, other open source projects and how their development works and various channels where you might get help if needed.

    --
    I demand the Cone of Silence!
  114. perhaps some more tips by halleluja · · Score: 1


  115. Peer production by zby · · Score: 1

    Perhaps some introduction to the theory of Peer Production would be beneficial for understanding the economic foundation of Open Source. Some links: Coase's Penguin, or Linux and the Nature of the Firm, The Economics of Peer Production

  116. slides for lecture on open-source by Anonymous Coward · · Score: 0
  117. Re:Fundamentals by nahdude812 · · Score: 1

    Technical folks understand the need for source code, it's the non-technicals who don't. I can explain it to them in a few sentences, at least sufficiently for them to understand the need:

    Source code is how the program is written, but to run it needs to be compiled. Compiling is a one-way process, and we can't take the compiled version and make any modifications to it. Therefore in order to make the changes you're requresing, we need to get a copy of the original source before it was compiled.

    That's sufficient for most people to at least understand the need, if not the technicals. And despite it being slightly inaccurate (we could, after all, reverse compile, or work on the assembly level, but short of performance tweaks, why would you ever do that if the source code was an option?), it gets the message across.

    Periodically someone doesn't quite get it still, then I liken it to a Word document and a printout of that word document:

    Let's say I need you to make changes to a 400 page {insert complex corporate document type here}. I could either give you a printout of all 400 pages, or I could give you the original Word document. Which is easier to make changes to? The Word doc is like my source code, and the printout is like the compiled version. Yes, we can make changes based on the printout, but it requires a tremendously larger time investment, and is prone to mistakes.

  118. Re:Fundamentals by Kjella · · Score: 1

    Maybe I'm missing something here, but last I checked, HEX was {0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F}. That's definately a subset of ASCII.

    So is 0 and 1, but I doubt anyone would call binary ASCII. "Binary expressed as ASCII" perhaps, just as 0-F is "Hex expressed as ASCII". Just don't give them ASCII as ASCII. Or give them an assembler dump of the binary, will also be fun. Even "hello world" is probably quite a few pages as a win32 app.

    --
    Live today, because you never know what tomorrow brings
  119. Version control, branching and merging by Simon+Brooke · · Score: 1

    The thing I have had to learn for myself most painfully in open source development is a new approach to version control. In a business environment version control is essentially an archive, and what the current ruling version of any component is is a matter of management diktat. With open source, you have to let people go away on their own with a bit of code - you can't stop them - and when they come back they may well have come up with something that's genuinely better.

    So a project 'owner' has got to have the humility to assess someone else's work to appreciate when it is better, and also must be able to manage branching and merging of versions effectively and smoothly which is not always straightforward. You certainly don't want to be in a position where you don't merge a really good bit of work into the project simply because the version control overhead is too great.

    So teach version control; not only what systems are out there but the theory of it and how to make it work effectively in an open source environment.

    Also, of course, documentation....

    --
    I'm old enough to remember when discussions on Slashdot were well informed.
  120. FOSS Syllabus by Varun+Soundararajan · · Score: 1
    Hi,

    I study in Anna University, India. We have electives in FOSS, for bachelor degree. I guess it might help. Have a look at it here: (PDF Link) http://www.au-kbc.org/nrcf/FOSS_Elective-I_Syllabu s_final_14July05.pdf


    Some general info on FOSS in my university at http://www.au-kbc.org/nrcf/index.htm
    ===============
    This space intentionally left blank
  121. What to teach about open source by DavidNWelton · · Score: 1

    I do a bit of consulting work that could be termed "open source strategy", and while it's aimed at business types who need/want to better understand the world of free software, a lot of it would be applicable to a course like this.

    The first big decision you have to make of course, is whether there will be a "hands on" component where people learn about actual technologies that are popular in the open source world. In that case, I would get them going with Ubuntu, show them some popular systems like Apache and Postgresql, then some programming with C and a scripting language or two (Tcl and Python, perhaps), and autotools.

    The most important part of this course would be, as others have stated, concentrated on what makes open source open source.

    * Philosophy.
    * Licensing and its practical applications (what code can I use? in what projects?)
    * Economics - how do people do this and not starve?!
    * Community - this is probably the most important one, and it draws on the other points. What kinds of open source communities are there already (FSF, ASF, various *BSD's, etc...), what makes them different? What are their motivations? How can you interact with them? How to build a strong community for your own open source efforts?
    * Case studies. Linux, Apache, and the other big ones, but also some smaller, successful projects that are not such statistical outliers. Most people are not going to write the next Linux or Apache, but that doesn't mean they can't have a healthy, successful open source project.

    I'm kind of envious - I think it would be a lot of fun to teach a course like that!

  122. Setting the record straight is often a must, too. by hkmwbz · · Score: 2, Insightful
    "One important thing to do is to not insult your users/clients/customers. While it is fairly rare, thankfully, every now and then a rogue open source developer will make comments that tarnish the reputation of an open source project."
    You know, I just loved the way he put you in your place for splitting hairs and making lots of uninformed comments about something you know nothing about. There's nothing worse than when there's someone who doesn't have a clue, but who still insists on telling you how to run your project or business.

    You were basically spewing out unfounded claims and comments, and you didn't even bother listening to other people when they responded.

    One of the refreshing things about this whole thing is that someone in that position actually spoke up against the instanit that is clueless users that want to dictate your business/project. I applaud him, and I will certainly keep a closer eye on KOffice, and I will definitely try out any Windows port made available.

    Respect for users and customers is good. It's great! But when the same user keeps spreading lies and unfounded nonsense all over the place all the time, it's great that someone has the balls to cut the crap and call a spade a spade.

    Your over-analysis of the "if they don't make it after all"/"it's impossible to make it" thing was just so damn annoying!

    --
    Clever signature text goes here.
  123. Indeed, you are an idiot. by Anonymous Coward · · Score: 0

    You have no idea how annoying your self-righteous rants are. You were spreading lies about KDE, and he kicked your ass for it. Accept it and move on.

  124. Re: Indeed, you are correct. by CyricZ · · Score: 1

    Yes, my stance on that issue was the correct one, because my stance was backed with the truth and factual information. The claims made by the other KOffice rep were potentially misleading, and the radical outburst from that particular rogue developer dealt an ill blow to the KOffice Project's reputation. A headache is no excuse for publically tarnishing the reputation of the project you volunteer for.

    At least this incident serves as a very good reminder to the open source community about what type of incidents should be avoided. Other developers can now learn from that particular developer's mistake, and hopefully the open source community will be better off for it.

    --
    Cyric Zndovzny at your service.
  125. Re:Fndamentals by rubylisper · · Score: 1

    The trick is to get experience using FOSS and to see a great many examples of successful applications. Free Software for Busy People is full of examples. http://www.freedomsoftware.info/book.pdf

  126. Re:Fundamentals by rubylisper · · Score: 1

    The trick is to get experience using FOSS and to see many examples of successful applications. Free Software for Busy People is full of examples. http://www.freedomsoftware.info/book.pdf

  127. What about READING code? by gidds · · Score: 1
    So many programmers seem to have this massive blind spot about existing code, about reading and understanding other people's code. And in some ways that's more difficult than writing your own code; it's certainly not something that I see discussed much.

    Yes, of course it's important to write good code. But in most cases, you won't be starting from scratch; you'll be working on an existing system. And I don't know about anyone else, but I find it extremely hard to get going when the source code for a big system is dumped on me. Even if it's well organised, well designed, and well coded (which few are).

    So maybe the course should include something about that? How to find your way around a big system, how to work out what it's doing and how it's organised, how to decide where your changes should go, how to make them safely without screwing other things up, how to test them.

    And, just as importantly, the less technical side of this: how to become involved in the open source community, how to get involved in a particular project, how to make and submit patches, how to discover and fit in with existing style/patterns/standards, how to get buy-in for big or highly-visible changes, how to explain your ideas so that they can be understood (i.e. not just "Well, it's *obvious* that my way is best!").

    Most of these issues also apply to proprietary code, of course, but some are much more important when there's no company structure to resolve conflicts or direct the work.

    Also, as Acius said, having a real example to wotk with may well help. Especially if it's a small one that people can actually follow and/or contribute to in a reasonable amount of time.

    --

    Ceterum censeo subscriptionem esse delendam.

  128. things that should be thought by after+fallout · · Score: 1
    1. using ticket systems
    2. finding bugs (and how to do a detailed bug report)
    3. writing patches
    4. using CVS/SVN
    5. licensing issues
    6. sharing code
    7. inter-language prototyping (example, writing a quick example parser in perl to demonstrate how the final C++ version should work)


    It is important to know how to get involved in an OSS piece of work. Often if you want to submit code, you first need to do bug stuff (writting patches and the sort). Then developers may let you in to the code itself (note I said might). Other times you simply have to ask. Either way you need to be familure with both the ticket system the project is using, and the code control system. Licenses are always important. Users of any system also need to know how to go about sharing code between projects(dealing with incompatible licenses, dealing with multiple languages, and dealing with people). Finally it is important to be able to quickly express your ideas (otherwise you get run over by someone who is faster at expressing a different idea).
  129. GUI! by Tidal+Flame · · Score: 1

    What most OSS teams need is a lesson on GUI design, documentation, and why the two of them are important.

  130. A good development environment by Matt_Doar · · Score: 1

    I suggest exposing them to the kind of tools that are used to develop real open source (and closed) projects: version control, build tools, test harnesses, bug tracking, and installation tools. Even if their 5K LOC program could be compiled using a shell script, show them what they would use when it becomes 50K LOC.

    There's even a new book from O'Reilly about these kinds of tools - "Practical Development Environments" (http://www.oreilly.com/catalog/practicalde). I wrote it because I couldn't find a similar book for software toolsmiths.

  131. mainframes? by Zero__Kelvin · · Score: 1

    "I believe the students would have a programming background ranging from only mainframes to C++ to those with some Java experience."

    I can't believe it. Just when I thought I had a grasp on all the bleeding edge developments in the industry ... what the hell is this new mainframes language? Where can I get more information? Is it statically or dynamically bound? Event-driven? Compiled? Interpreted? Strongly or loosely typed? The industry is just moving soooo fast I can't keep up!

    In all seriousness, too many "teachers" miss the first step in teaching any class .... become an expert in the area yourself ... then, and only then, consider teaching it to others.

    --
    Guns don't kill people; Physics kills people! - John Lithgow as Dick Solomon on Third Rock From The Sun
  132. I'm teaching a similar course by bertvv · · Score: 1
    Hope this doesn't get lost because it's such an "old" thread, but...

    Incidentally, starting this academic year, I teach a similar course, called "Open Systems". It's also part of a one year continuing education course, specifically (but not exclusively) for graduated Bachelors Applied Informatics. The "Open Systems" course lasts one semester (about twelve weeks) and I teach it six (!) hours every week, which many would consider *waay* too long. Maybe they're right, but consider that the fact that my institution wants to organise such a course is a signal that people are starting to realise the importance of the F/OSS phenomenon...

    Anyway. These are some lecture subjects that I have in mind:
    • Introduction, definition of Open Systems, interoperability, portability, open standards
    • What is F/OSS, the difference between the two, available F/OSS applications
    • Understanding Open Source licensing models, judicial and strategical consequences of F/OSS
    • Open Source = open sores? Fear, Uncertainty and Doubt
    • Starting with Open Source systems: a roadmap towards adoption
    • The Open Source Business Model
    • Closing security holes with Open Systems (including a "how to encrypt your e-mail" hands-on session)
    • Open Systems certification
    • Open Source Software development: tools, organisation,

    As part of the course, the students have to work for an Open Source project. Either they choose one for theirselves, or I put them to work for Dokeos, an e-learning platform that is used (and actively improved and developed) at my institution. The idea is that they write a report, not only about what they've done, but also about the organisation of the project, how communication went, how conflicts are solved, etc. Most of them did an internship in a commercial development environment and they can compare both worlds, which should result in interesting reading...

    Students get assignments every now and then, such as comparing an Free/Open Source application with its commercial counterpart (e.g. OpenOffice vs MS Office, the GIMP vs Photoshop, ...). I also plan to organise debates about the issues being lectured.

    If you want to exchange ideas, teaching materials, etc., send me an e-mail. In the spirit of Open Source, I'm happy to share my course materials with you. My address is my slashdot user name, followed by @advalvas.be.
  133. Re: Indeed, you are correct. by Anonymous Coward · · Score: 0
    "Yes, my stance on that issue was the correct one, because my stance was backed with the truth and factual information."
    No it wasn't. You have no clue about how easy it is to port it, and even if it was difficult, they didn't say that it WOULD DEFINITELY be ported RIGHT ON TIME. You are lying.
    "The claims made by the other KOffice rep were potentially misleading, and the radical outburst from that particular rogue developer dealt an ill blow to the KOffice Project's reputation."
    Rubbish. You WANT it to be so because you are a self-righteous, pompous ass who were publicly embarrassed for spewing out nonsense you don't know the first thing about.
    "At least this incident serves as a very good reminder to the open source community about what type of incidents should be avoided."
    Wrong. It servers as a reminder to self-righteous asses out there how silly they look when they spew out nonsense and are busted and the record is set straight. You ended up looking like a fool, and it annoyed you so much you are now a crusade to spread your lies even more.
    "Other developers can now learn from that particular developer's mistake, and hopefully the open source community will be better off for it."
    You desperately want to be an important person and thus you want people to be bothered by the fact that you were exposed as a liar and dealt with accordingly with someone who actually has a clue.

    Get over it. Stop being an ass. You are making a complete fool of yourself by acting like a clueless, pompous, self-righteous ass.

  134. Tools by Dave+Grundgeiger · · Score: 1

    From a developer's perspective, there's also the question of how to set up a development environment consisting of open-source tools. I write software that runs on .NET on Windows, and started looking into open-source .NET tools a couple of years ago for projects outside of work. To my elation, I discovered everything necessary to set up a complete environment without spending a penny (except for the OS, of course, since it's Windows). I have links to the tools here: http://www.codenouveau.com/DevTools.aspx. I also teach a class on this now.