TeachMate.org goes opensource


#1

Today I published TeachMate.org source code on github. You can
download it, modify and contribute. I will review your code and, if
it’s okay, there’s a high probability I’ll merge it with my repo and
deploy to the server. There are few reasons why I decided to do so:

  1. I’ve got really nothing to hide in TeachMate (found a bug? don’t
    be evil - don’t hack it, mail it to me or fix it).
  2. Community working on a project is more powerful than an
    individual.
  3. I like opensource and I think more web-projects should do this
    (like Reddit did).
  4. I’m looking for a partner to work on this and other projects.
    And because choosing a partner isn’t easy, I think this should help.
  5. I’m not a ruby-ninja, but some of you probably are. So, if you
    ever find TeachMate idea cool enough to contribute code, I’d love to
    review it and, maybe, learn something from it.

Just to make it clear: currently, I don’t make any money on TeachMate
(I actually only waste them), I started it as an educational project
to teach myself Rails, so please don’t be too tough on me for the
code. Getting project popular wasn’t the major issue, but I’d
appreciate if you write a few words about it in your blog.


#2

http://teachmate.org
http://github.com/snitko/teachmate/tree/master


#3

I think you should find another term than OpenSource since the website
itself is OpenSource…

Its like an OpenWebsite

Jean-Marc
http://m2i3.com/blog/jean-marc


#4

On Tue, Oct 28, 2008 at 8:49 AM, Jean-Marc (M2i3.com)
removed_email_address@domain.invalid wrote:

I think you should find another term than OpenSource since the website
itself is OpenSource…

Its like an OpenWebsite

Jean-Marc
http://m2i3.com/blog/jean-marc

As someone who is also working on an open source website, I’d love to
hear your reasoning for suggesting a different term. Why does it
matter if it’s a website or code which runs locally?


Aaron T.
http://synfin.net/
http://tcpreplay.synfin.net/ - Pcap editing and replay tools for Unix &
Windows
They that can give up essential liberty to obtain a little temporary
safety deserve neither liberty nor safety. – Benjamin Franklin


#5

Well the major distinction between a website and a local application
is precisely that… where it runs.

Lets take OpenOffice…

You download a copy and run it on your machine.
You can choose to alter your copy and be the sole user of those
changes
You can publish your changes and once approved/merged into the trunk
version, other people can benefit from it.
** The benefit of the improvements made takes a longer time (if ever)
to reach the potential users.

Lets take Joomla…

You download a copy and run it on your webserver
You can choose to alter your copy
You can publish your changes but there again people will need to
update their own copy.
** The benefit of the improvements made still takes a longer time (if
ever) to reach the potential users.

Lets take teachmate.org and reddit.com

You don’t download anything unless you want to change it (or branch
and start your own)
Whoever have their published changes approved updates the final
website directly.
** The benefit of the improvements reaches all the users upon
approval.

Lets imagine Google was doing it where you could download the source
code of their website and suggest improvements to any aspect of it
where the whole user base of Google would benefit from the changes.

The distinction is probably too thin to justify a new term… “Open
Source Website” already says enough. But new terms also carry with
them loads of meaning and in the case of Reddit and Teachmate the
meaning is: “the website, it’s behavior and all aspects of it belongs
to the community an is actively maintained by the community”.

Jean-Marc
http://m2i3.com


#6

Aaron,

Your last comment would seem to weight in the need to have a new term
to describe what snitko wants to do.


Jean-Marc
http://m2i3.com


#7

On Tue, Oct 28, 2008 at 10:31 AM, Jean-Marc (M2i3.com)
removed_email_address@domain.invalid wrote:

version, other people can benefit from it.
ever) to reach the potential users.
Lets imagine Google was doing it where you could download the source
code of their website and suggest improvements to any aspect of it
where the whole user base of Google would benefit from the changes.

The distinction is probably too thin to justify a new term… “Open
Source Website” already says enough. But new terms also carry with
them loads of meaning and in the case of Reddit and Teachmate the
meaning is: “the website, it’s behavior and all aspects of it belongs
to the community an is actively maintained by the community”.

I think the key takeaway is that the term “open source” has nothing to
do with where the code actually runs (see disclaimer below). It has
to do with who has access to the code and what they can do with the
code. By opening up the source code according to most OSS licenses,
it’s perfectly valid to take the code, rebrand the site and start a
competitor site- just like there have been forks of traditional
software (Emacs vs. XEmacs for example).

  • Disclaimer: Depending on the license used I may not even have to
    redistribute the changes I make to my competitor site (BSD, Artistic
    and GPLv2 for example). Of course some licenses have special clauses
    for “web delivered applications”. So yes, where it runs is a factor
    in the “redistribution” clause, but most OSS licenses don’t force you
    to share code changes for web applications.


Aaron T.
http://synfin.net/
http://tcpreplay.synfin.net/ - Pcap editing and replay tools for Unix &
Windows
They that can give up essential liberty to obtain a little temporary
safety deserve neither liberty nor safety. – Benjamin Franklin


#8

I won’t guess what snitko wants to do (his list of reasons may or may
not be comprehensive), but I will say that snitko should choose a
license which is appropriate for his goals. For better or worse his
stated goals aren’t really legally enforceable.

Before publishing I talked to some guys and they said publish it under
GPL. I looked through the license and it seemed good enough for it.
Personally, I give a damn about licenses and stuff, they really make
me bored. I don’t think there’s someone now willing to steal the code
to make a competitor web-service, but I certainly would not like that
to happen. So if you have any suggestions about the license to use,
I’d be grateful.


#9

On Tue, Oct 28, 2008 at 11:36 AM, Jean-Marc (M2i3.com)
removed_email_address@domain.invalid wrote:

Aaron,

Your last comment would seem to weight in the need to have a new term
to describe what snitko wants to do.

I won’t guess what snitko wants to do (his list of reasons may or may
not be comprehensive), but I will say that snitko should choose a
license which is appropriate for his goals. For better or worse his
stated goals aren’t really legally enforceable.

I see Teachmate.org is GPLv3 and know at one point in time RMS was
complaining about websites using GPL’d code but since they weren’t
redistributing binaries they didn’t have to share their improvements-
I don’t recall if/what changes were made in the GPLv3 to address this.


Aaron T.
http://synfin.net/
http://tcpreplay.synfin.net/ - Pcap editing and replay tools for Unix &
Windows
They that can give up essential liberty to obtain a little temporary
safety deserve neither liberty nor safety. – Benjamin Franklin


#10

On Tue, Oct 28, 2008 at 4:04 PM, snitko removed_email_address@domain.invalid wrote:

to make a competitor web-service, but I certainly would not like that
to happen. So if you have any suggestions about the license to use,
I’d be grateful.

I don’t know if I could recommend a license… I’m not a lawyer and
all that. I will say that I don’t believe there exists an OSS license
which would prevent someone from starting a competitive site using
your code. The only all the open source licenses I’m aware of would
control is under what circumstances would they have to release their
code changes back to you & the world.

I can say this from personal experience:

Making code open source (regardless of the license) doesn’t magically
cause people to contribute to your project. That takes a community of
individuals who want to solve a shared problem.

IMHO, if you’re looking for people to help you with the project, then
your best bet is probably to seek out qualified developers (or people
interested in learning) within your existing user base who already
find it useful and would like to give back.

There are only two reasons I can think of that someone would download
your code and do anything with it:

  1. They want to help you out
  2. They want to start their own site using your code

You could easily have people email you to get access to the code for
#1 and filter out people interested in #2 all without releasing the
code under the GPL, etc.

I will say this though. Either GPL your code or have people assign
their copyright to you. I was involved in a web project where the
main developer kept the copyright and didn’t assign a license which
allowed it to be redistributed other then the server. Then when the
developer decided she didn’t want to work on the site anymore she
wouldn’t allow us to give it to other developers- which basically
meant we had to start over from scratch.

Good luck,
Aaron


Aaron T.
http://synfin.net/
http://tcpreplay.synfin.net/ - Pcap editing and replay tools for Unix &
Windows
They that can give up essential liberty to obtain a little temporary
safety deserve neither liberty nor safety. – Benjamin Franklin


#11

I guess that’s the fear with making any project opensource -
competitors. But also bear in mind that that’s one of the things that
makes opensource so powerful, it’s how we grow as a massive global
community, living and learning from our mistakes and building off
others’ mistakes as well.

Think of it as giving back to a community that has given you so
much :slight_smile:

Have linked to this article and your project snitko, at
http://www.kirkbushell.com/
:slight_smile: