licensing and development questions

4 views
Skip to first unread message

Bruce D’Arcus

unread,
May 18, 2009, 4:10:20 PM5/18/09
to pinax-lms
So this might be a dumb question, but one can never be too careful I
guess ...

I know James has expressed the belief that pinax work in general
should take place under a permissive bsd/mit-like license. I'm noting
that both Moodle and Sakai have more restrictive license (GPL and the
Educational Community LIcense respectively). What does this mismatch
mean practically in terms of borrowing ideas and such?

Also, any ideas about how this project might proceed in terms of code
development? If I have some thoughts on modeling, for example, should
I just put something up on GitHub? Do we have some thoughts on what
the core project ought to be for this effort?

Bruce

Skylar Saveland

unread,
May 18, 2009, 4:16:10 PM5/18/09
to pinax-lms
> I know James has expressed the belief that pinax work in general
> should take place under a permissive bsd/mit-like license. I'm noting
> that both Moodle and Sakai have more restrictive license (GPL and the
> Educational Community LIcense respectively). What does this mismatch
> mean practically in terms of borrowing ideas and such?

No idea but seems like a good question before I go off stealing the
entire DB structure from Moodle :).

> Also, any ideas about how this project might proceed in terms of code
> development? If I have some thoughts on modeling, for example, should
> I just put something up on GitHub? Do we have some thoughts on what
> the core project ought to be for this effort?

I for one would love to see it. I should go ahead and put up the
little project I have that I hooked into a new MoodleDB and IOed
inspectdb into a file.

Bruce D’Arcus

unread,
May 18, 2009, 4:45:37 PM5/18/09
to pinax-lms


On May 18, 4:16 pm, Skylar Saveland <skylar.savel...@gmail.com> wrote:
> > I know James has expressed the belief that pinax work in general
> > should take place under a permissive bsd/mit-like license. I'm noting
> > that both Moodle and Sakai have more restrictive license (GPL and the
> > Educational Community LIcense respectively). What does this mismatch
> > mean practically in terms of borrowing ideas and such?
>
> No idea but seems like a good question before I go off stealing the
> entire DB structure from Moodle :).

Indeed!

Or if I look at the Sakai source code and it influences how I design a
model (though the code of course it totally different)?

Bruce

James Tauber

unread,
May 18, 2009, 5:46:54 PM5/18/09
to pina...@googlegroups.com
On May 19, 2009, at 4:10 AM, Bruce D’Arcus wrote:
> I know James has expressed the belief that pinax work in general
> should take place under a permissive bsd/mit-like license. I'm noting
> that both Moodle and Sakai have more restrictive license (GPL and the
> Educational Community LIcense respectively). What does this mismatch
> mean practically in terms of borrowing ideas and such?

It should have no impact on borrowing *ideas* but we would need to be
very careful borrowing code (or obviously deriving our Django/Python
code from their PHP / Java code)

> Also, any ideas about how this project might proceed in terms of code
> development? If I have some thoughts on modeling, for example, should
> I just put something up on GitHub? Do we have some thoughts on what
> the core project ought to be for this effort?

I'm a big believer in generalizing from the specific. What would be
nice is if we agreed on a simple little scenario that exercised a
bunch of the functionality we'd like to see. More than a toy example,
but not much more.

Consider, perhaps a "school" with 3 courses run over 2 years, some
with multiple classes. Each course consisting just of a handful of
content and one or two assessments. Use Pinax out of the box as much
as possible, and extending Pinax wherever we need something additional
but not necessarily LMS-specific.

The social networking part of Pinax grew dramatically because we had a
live site (what became Cloud27) so I think that is a good approach to
take. Once we have a little demo site, we can do more to generalize
it, componentize it, etc.

How does that sound?

+1 on using GitHub and I am happy to use something like pinax/lms-demo
on GitHub as the "official" repo.

James

Bruce D’Arcus

unread,
May 18, 2009, 8:01:17 PM5/18/09
to pinax-lms


On May 18, 5:46 pm, James Tauber <jtau...@jtauber.com> wrote:
> On May 19, 2009, at 4:10 AM, Bruce D’Arcus wrote:
>
> > I know James has expressed the belief that pinax work in general
> > should take place under a permissive bsd/mit-like license. I'm noting
> > that both Moodle and Sakai have more restrictive license (GPL and the
> > Educational Community LIcense respectively). What does this mismatch
> > mean practically in terms of borrowing ideas and such?
>
> It should have no impact on borrowing *ideas* but we would need to be  
> very careful borrowing code (or obviously deriving our Django/Python  
> code from their PHP / Java code)

So for example, to be safe, don't look at the database schema or model
code for either project?

> > Also, any ideas about how this project might proceed in terms of code
> > development? If I have some thoughts on modeling, for example, should
> > I just put something up on GitHub? Do we have some thoughts on what
> > the core project ought to be for this effort?
>
> I'm a big believer in generalizing from the specific. What would be  
> nice is if we agreed on a simple little scenario that exercised a  
> bunch of the functionality we'd like to see. More than a toy example,  
> but not much more.
>
> Consider, perhaps a "school" with 3 courses run over 2 years, some  
> with multiple classes. Each course consisting just of a handful of  
> content and one or two assessments.

Sounds good, but probably important to bring in users and their
different roles?

Bruce

Skylar Saveland

unread,
May 19, 2009, 7:56:39 AM5/19/09
to pinax-lms
> So for example, to be safe, don't look at the database schema or model
> code for either project?

I spoke with Martin Dougiamas (founder and lead of Moodle - from Perth
no less...) directly:

me: If I explicitly copy Moodle's models and then offer my app under
MIT/BSD is this going to be at conflict with the way that Moodle is
licensed?
...
me: This would be 100% new code but using the Moodle db schema. So I
would copy all of the relations with a Python ORM and then have a
group of companion apps that can work alongside a Moodle system.

Martin: No problem with that at all. The database structures are not
really code and so are not subject to the GPL.
Out of interest, what sort of companion apps are you planning?

(http://moodle.org/mod/forum/discuss.php?d=123685#p542142) if you feel
like logging in to look or add to the conversation.

Now, don't get me wrong. There are plenty of reasons not to use the
inspectdb as the backbone of pinax-lms. I can understand if we do not
want this to be the core of pinax-lms (we would be condemned to save
timestamps as int?) If I do make a django-moodle app though, it might
be a nice pluggable to add some compatibility with one of the most
established existing options.

I do think that if we tied our auth to Moodle's we would instantly
become an attractive experiment for 100s (if not 1000s) of schools.
Also, a bunch of functionality would not have to be repeated and pinax-
lms could go about the business of being innovative and amazing
without having to necessarily reinvent the wheel on a lot of important
but tedious details.

> > I'm a big believer in generalizing from the specific. What would be  
> > nice is if we agreed on a simple little scenario that exercised a  
> > bunch of the functionality we'd like to see. More than a toy example,  
> > but not much more.
>
> > Consider, perhaps a "school" with 3 courses run over 2 years, some  
> > with multiple classes. Each course consisting just of a handful of  
> > content and one or two assessments.

Agree (though opposite of the copy Moodle idea). I will hopefully
know more about the specifications for my teachers in the next couple
of weeks. I do know that the door is opening for open source in this
school system b/c they do not want to save videos and podcasts in
their OracleDB. I will let you know as I become more informed.

James Tauber

unread,
May 19, 2009, 8:07:08 AM5/19/09
to pina...@googlegroups.com
On May 19, 2009, at 8:01 AM, Bruce D’Arcus wrote:
> So for example, to be safe, don't look at the database schema or model
> code for either project?

Looking at it would be fine. Obviously copying code would be the only
issue.

>>> Also, any ideas about how this project might proceed in terms of
>>> code
>>> development? If I have some thoughts on modeling, for example,
>>> should
>>> I just put something up on GitHub? Do we have some thoughts on what
>>> the core project ought to be for this effort?
>>
>> I'm a big believer in generalizing from the specific. What would be
>> nice is if we agreed on a simple little scenario that exercised a
>> bunch of the functionality we'd like to see. More than a toy example,
>> but not much more.
>>
>> Consider, perhaps a "school" with 3 courses run over 2 years, some
>> with multiple classes. Each course consisting just of a handful of
>> content and one or two assessments.
>
> Sounds good, but probably important to bring in users and their
> different roles?

Oh totally. Shall we sketch out the general data model on this list?

I have pinax-lms-demo on github under the pinax user ready to go :-)

James

James Tauber

unread,
May 19, 2009, 8:16:53 AM5/19/09
to pina...@googlegroups.com
On May 19, 2009, at 7:56 PM, Skylar Saveland wrote:

>
>> So for example, to be safe, don't look at the database schema or
>> model
>> code for either project?
>
> I spoke with Martin Dougiamas (founder and lead of Moodle - from Perth
> no less...) directly:

I know Martin from a former life. He and I were both webmasters of two
universities here 13 years ago and I went to high school with his
wife :-)

> me: If I explicitly copy Moodle's models and then offer my app under
> MIT/BSD is this going to be at conflict with the way that Moodle is
> licensed?
> ...
> me: This would be 100% new code but using the Moodle db schema. So I
> would copy all of the relations with a Python ORM and then have a
> group of companion apps that can work alongside a Moodle system.
>
> Martin: No problem with that at all. The database structures are not
> really code and so are not subject to the GPL.
> Out of interest, what sort of companion apps are you planning?
>
> (http://moodle.org/mod/forum/discuss.php?d=123685#p542142) if you feel
> like logging in to look or add to the conversation.
>
> Now, don't get me wrong. There are plenty of reasons not to use the
> inspectdb as the backbone of pinax-lms. I can understand if we do not
> want this to be the core of pinax-lms (we would be condemned to save
> timestamps as int?) If I do make a django-moodle app though, it might
> be a nice pluggable to add some compatibility with one of the most
> established existing options.

Yeah, I don't think we should base our core models on Moodle. Rather,
we can provide integration as an adjacent capability.

> I do think that if we tied our auth to Moodle's we would instantly
> become an attractive experiment for 100s (if not 1000s) of schools.
> Also, a bunch of functionality would not have to be repeated and
> pinax-
> lms could go about the business of being innovative and amazing
> without having to necessarily reinvent the wheel on a lot of important
> but tedious details.

Although that's sort of the point of Pinax (providing the important
but tedious stuff).

There's a lot of need in Pinax in general for integrating with
existing authentication systems so I see Moodle integration as just
one example of that. I like the idea of providing that as a option,
although we don't want to require the use of Moodle for authentication.

>>> I'm a big believer in generalizing from the specific. What would be
>>> nice is if we agreed on a simple little scenario that exercised a
>>> bunch of the functionality we'd like to see. More than a toy
>>> example,
>>> but not much more.
>>
>>> Consider, perhaps a "school" with 3 courses run over 2 years, some
>>> with multiple classes. Each course consisting just of a handful of
>>> content and one or two assessments.
>
> Agree (though opposite of the copy Moodle idea).

There's nothing wrong with multiple approaches at this stage as long
as we're willing to go back later and consolidate.

James

Bruce D’Arcus

unread,
May 19, 2009, 9:22:31 AM5/19/09
to pinax-lms


On May 19, 8:07 am, James Tauber <jtau...@jtauber.com> wrote:
> On May 19, 2009, at 8:01 AM, Bruce D’Arcus wrote:

...

> >> Consider, perhaps a "school" with 3 courses run over 2 years, some
> >> with multiple classes. Each course consisting just of a handful of
> >> content and one or two assessments.
>
> > Sounds good, but probably important to bring in users and their
> > different roles?
>
> Oh totally. Shall we sketch out the general data model on this list?

Sure. It's been awhile since i've worked with Django, and I'm busy
with other things, so I'm going just to itemize the classes; not
describe them in detail. Hopefully this can get the ball rolling
though ...

Beyond the example above, I'm going to keep in my mind two courses I'm
teaching in the Fall, and which I could in theory use this for.

To me, the basic classes for a course are something like the
following:

class AcademicSession(models.Model):
"""
A block of time (such as a semester) during which courses may be
offered.
"""

class Course(models.Model):
"""
An abstract course.
"""

class CourseOffering(models.Model):
"""
A course instance, as offered by a particular instructor or set of
instructors,
in a particular AcademicSession.
"""

class Enrollment(models.Model):
"""
The relation between Student/User and CourseOffering.
"""

class Instructorship(models.Model):
"""
The relation between Instructor/User and CourseOffering.
"""

I am thinking the latter two would probably have "through" relation
links from the CourseOffering. The former, for example, needs to keep
track of when people enroll and unenroll, and the latter certainly
needs at least a role attribute (instructor, assistant, etc.).

One immediate thing to consider WRT to Pinax is the relation between a
course and groups (er, tribes?). I'd like to consider the possibility
of having groups exclusively associated with a CourseOffering, but
also those that might exist independently of them (and therefore also
potentially cutting across courses).

Bruce
Reply all
Reply to author
Forward
0 new messages