Forum .LRN Q&A: dotLRN on .NET

Collapse
Posted by Malte Sussdorff on
Out of curiosity, as rumour is spreading and I hear it now from
multiple independent sources: Will there be a dotLRN port to .NET?

If yes, is there a time schedule (in quarters)

Collapse
2: Response to dotLRN on .NET (response to 1)
Posted by Dan Wickstrom on
I assume that the source of this rumour comes from this post on greenspun's site. It indicates that a .net version of sloanspace is being developed.
Collapse
3: Response to dotLRN on .NET (response to 1)
Posted by Roberto Mello on
More important than time schedule would the license of this .NET port. AFAIK, Visual Studio .NET's EULA forbids the creation of GPL'd software.

Notice that there's nothing from stopping people from making dotlrn components into "web services" (to use a current buzzword) through SOAP and other protocols that .NET uses. In fact, this is one thing that I'd like to do with some OpenACS applications. There are Tcl modules to do that already.

Collapse
4: Response to dotLRN on .NET (response to 1)
Posted by Alfred Essa on
I will post something on this later tonight. The short answer to Malte's question: Will there be a dotLRN port to .NET? No. At least not in the immediate future. Sloan *might* receive funding and resources to introduce web services into SloanSpace/dotLRN. More to follow...
Collapse
5: Response to dotLRN on .NET (response to 1)
Posted by Alfred Essa on
In framing the discussion around .NET, let me state some principles to which I am absolutely committed and which I cannot compromise as long as I am CIO at MIT Sloan.

I want to state this as a matter of public record:

  1. dotLRN must be made available under an opensource license;
  2. dotLRN must run on an opensource stack (operating system, web/application server, database);

dotLRN on OpenACS fulfills both criteria. As we all know, .NET does not. As long as I am CIO at Sloan, we will not migrate SloanSpace and our users to .NET unless both 1) and 2) are true in practice, not just in theory. For me, 1) and 2) are necessary conditions and not sufficient. We might be successful with a dotLRN implementation on .NET which is made available under an opensource license and runs on an opensource stack (Linux, Apache, and Postgres), but we still might feel uncomfortable and unconvinced with Microsoft terms of license for .NET class libraries, etc.

If I violate (1) or (2), I will resign from Sloan and pay for Neophytos plane fare to come and accept my resignation.

Collapse
6: Response to dotLRN on .NET (response to 1)
Posted by Alfred Essa on
Let me also state a fundamental belief that I have as an individual. Here I am not speaking for MIT, but as an individual. While I strongly believe in markets, it's also our fundamental obligation to ensure that the core infrastructure and tools for eLearning be made available as part of the commons (i.e. opensource). Basic electronic tools for teaching, learning, and collaboration must be freely available. This idea is stated as the first principle on the dotLRN web site: "The commitment to opensource emphasizes our belief that the core infrastructure and application suite for eLearning should be part of the "intellectual commons" and freely available to all."
Collapse
Posted by Carl Robert Blesius on

First I would like to clarify that I am going to be posting twice. Once as a member of the Heidelberger E-Learning team and once as a member of the EB of dotLRN.

I start with the Heidelberger subjective view:

I am glad that Roberto finally brought this point up in the governance thread... this rumor has been bothering me for a while (I have been waiting to post because I did not feel it was my place or that I had enough background information). I think these rumors also had a lot to do with some of the tension in the governance discussion.

In Heidelberg we have spent a lot of time and energy looking at different eLearning platfroms and dotLRN has been at the top of our list for a while. Obviously before we could make our final decision in Heidelberg we had to clear up all the various questions that came up that we could not find answers to in the forums or the website. Even though we had contacted a lot of people we decided that it was imperative that we fly to Boston and talk with as many people in person as possible (there were just too many open questions).

The news of potential funding from the iCampus project was one of the things that came up shortly before our trip and was a shock. To be quite honest I immediately thought to myself... "bye bye dotLRN... would have been nice", yet we obviously had to take a much closer look before we could make any major decisions. So I invested time into getting a general overview of what .NET is about and then I tried to talk to people involved with the iCampus project.

After doing superficial research on .NET we have come to the preliminary conclusion that much of the Microsoft philosophy for Web development is focused on server-side controls (which makes it clear why .NET is so appealing to a company that sells server software and is looking for innovative ways to maintain its present income). What about Mono... the "Open Source" Unix version of .NET? Staying days, weeks, or even months behind .NET eventually wasting major time on reverse engineering unpublished features of the .NET framework does not sound like a wise decision (not to mention possible performance problems... which reminds me of the extreme fatigue that can be associated with infectious Mononucleosis). There are also rumors in the Mono realm that there may be legal protection in place that leave a (intentionally or unintentionally) "kill Mono" option open (wether it is acted upon or not). Finally how MS has treated web standards in the past, does not exactly build faith that they will respect standards in the future.

Our initial conclusion in Heidelberg is that it would be a MISTAKE to introduce dependencies on .NET into dotLRN (not to mention the fact that our main partner in this endeavor, the University Computer Center, is very resistant to having Microsoft products running as servers for security, business, support, and other reasons). We also feel that a rewrite of existing dotLRN functionality using .NET would be a waste of resources that could be used more wisely.

Next step... what is iCampus http://www.swiss.ai.mit.edu/projects/icampus/? "A research alliance between MIT and Microsoft enhance university education through information technology [...] sponsoring innovative projects with significant, sustainable impact at MIT and elsewhere." (from the website). This does not sound too incompatible with dotLRN. So who do we talk with? To start with it seemed that the best person to talk with was Dave Mitchell at MIT from Microsoft Research who manages the MIT/Microsoft iCampus alliance. He gave me a feeling for what iCampus is and what the motivation behind the project is. Afterwards I asked some questions about dotLRN. It became clear to me that it was still very early (he could not give me any specific information on funding) and he did not yet know that much about dotLRN.

I then looked iCampus projects from the past and present to see which might be interesting for dotLRN. I focused on the iCampus framework, because it seems like an iCampus project that could coexist nicely with dotLRN. http://www.swiss.ai.mit.edu/projects/icampus/projects/framework.html The focus of the project is to "illustrate the benefits of service architectures for university educational computing infrastructure". This specific project is going to be using Microsoft's .NET architecture to implement certain services, but for dotLRN what makes this framework interesting is that it will interoperate with Web service architectures that adhere to the World Wide Web Consortium's service standards based on SOAP (Simple Object Access Protocol) and WSDL (Web Service Definition Language). dotLRN being able to talk using SOAP and WSDL, would obviously be a very good thing (as Roberto mentions above). It is obvious that we need strong support of web services standards in OpenACS and dotLRN.

Our conclusion in Heidelberg: using the iCampus funding to get dotLRN to talk with web services enabled applications would be GOOD... introducing dependencies on Microsoft software or services or putting energy into creating a new version based on .NET tools would be BAD. dotLRN is based on OpenACS and like OpenACS it should remain OPEN. It does not look like the goals of the iCampus project necessitate the use of .NET.

Why do we feel that we can take the risk of going with dotLRN without knowing if there is going to be Microsoft funding and what it will be for? First of all MIT-Sloan gave us the feeling that they are interested in having the users of dotLRN have a very active role in the dotLRN decision making process. OF also gave us the feeling that, regardless of what happens, there will be a version of dotLRN that they and other vendors will support regardless of decisions MIT-Sloan makes in one to two years from now. The main reason that we are willing to take this risk is because we believe that the system fits our users needs much better than other systems, dotLRN is a system being actively used, with a very high acceptance, and most importantly we feel that the momentum that is building behind dotLRN (from very diverse sources) will make dotLRN based on OpenACS a sound platform, easily able to deal with this and other kinds of funding in the future.

Collapse
Posted by Carl Robert Blesius on

Okay.... this is the more objective Carl from the dotLRN EB speaking:

When and if these funds come into play for dotLRN I want the TAB and gatekeeper to step in (because this is to a large extent a technical decision). I am confident that the strong OpenACS representation that is crystallizing in the technical leadership of dotLRN (Ben, Don, Dan, Lars, and ....) would make the best decision for both dotLRN and OpenACS inevitable.

Do not be mistaken, I will voice my concerns, my opinions, and my arguments in such matters, yet I must act on what the TAB recommends. I see the position that Al has given to me as a lever outside of the MIT sphere... one that keeps the interests of the greater dotLRN and OpenACS communities up front until a stable consortium forms. I also see my role in making sure that the TAB recommendation is heard and does not interfere with the interests and concerns of the users of dotLRN (represented through the UAB).

Collapse
9: Response to dotLRN on .NET (response to 1)
Posted by Alfred Essa on
From a Sloan perspective, I concur with Carl on *all* points regarding dotLRN and .NET. The reasons why we decided to go the opensource route was precisely the same as Heidelberg. We are not going to jeopardize our success and the momentum for the sake of $$ that violates our principles and goals. Let me re-iterate that the iCampus proposal and goals have not been finalized and we will not move forward without consultation without Carl, the Technical Board, and members of the OpenACS community.
<p>
Because some aspects of the proposal are confidential, I do not feel comfortable discussing everything in a public forum. I will establish a private forum in SloanSpace for continuing this discussion. I encourage anyone in the OpenACS community who is interested in participating to contact me. I will make sure that you obtain access to the private forum. I look forward to your feedback.
Collapse
Posted by Roberto Mello on
Al, I'm really glad and thrilled to hear of your commitment to open sourc/free software in dotlrn. It makes me a lot more confident and comfortable in contributing to the project.

I couldn't agree with you more on all the points you brought up.

Collapse
Posted by Malte Sussdorff on
Thanks a lot for these encouraging answers. They basicly reflect what I think / hoped for, but I thought it would not be my place to state them. It is encouraging to read that the EB has an open mind towards integration with other platforms, as this is something I see the need for especially if it comes to E-Learning (more in a seperate post).
Collapse
Posted by Torben Brosten on
A cautionary note. Please answer the following questions to yourself using the highest standard of reasoning.

Is dotLRN different than other organizations that have cooperated with Microsoft? How, how not?

Over the twenty odd years that Microsoft has been in business, are there any examples of ventures that are similar to the venture dotLRN is pursuing with Microsoft?  Are all of these outcomes acceptable to dotLRN within the risks of probable outcomes?

Should Microsoft make any intellectual property claim on any dotLRN code etc, does dotLRN have the resources to provide a competent legal standing in the face of an adversary with essentially unlimited resources?  What do historical records involving legal disputes with Microsoft record?

(Al and anyone else considering this as a future option) Does resigning from an influential position benefit or hamper the struggle to retain principles and goals, when in the presence of opposing forces?

How should someone responsible for making decisions about the future of dotLRN be held accountable for the impact of a venture with Microsoft in "icampus"?

What might be the impact of significant programming resources (and the fruits of their work) currently available for the dotLRN project being redirected to "icampus"? Might the discussion on dotLRN governance, and its impact on dotLRN development, indicate a significant disruptive potential (risk) of venturing with Microsoft in this opensource environment?

How can an opensource community retain an equitable relationship with a party (Microsoft), when the community is not provided full-disclosure of the terms of the working relationship?

With all sincerity for positive outcomes,

Collapse
Posted by Michael Feldstein on
Torben, I think you may be misunderstanding the current circumstances. First of all, Al has made it clear that there is no deal with Microsoft at the moment. All there is right now is conversationl. Second, I believe his reference to resignation was somewhat tongue-in-cheek. The point was that he is taking a strong stand on principle. Third, to the degree that there is conversation with Microsoft, it is regarding a *grant* which is funneled through an MIT institution. While it is always prudent to be cautious with Microsoft, this is quite different from any historic business partnerships to which you might point. Fourth, it is not true the community is not being provided with full disclosure of the working relationship. Right now there is no working relationship. Al has said he is willing to share any terms being offered with interested community members in a forum that is not open to everyone on the Internet, i.e., he has offered to share information with the community in a forum that will ensure it cannot be casually browsed by people outside the community. And finally, since we don't yet know the terms that are under discussion, we can't know if the the money from the grant will "redirect" resources, provide additional funding for work that the community already wants, or some combination of the two. Now, deal with iCampus were to convert dotLRN to .NET, then the issue of dividing resources would be very real and of great concern. However, both Al and Carl have rejected that possibility in their posts above.

Your concertns are entirely understandable. However, it's important for everybody to be clear on just where we are. There is no deal with Microsoft. Money is being offered by iCampus, an MIT project that is funded by Microsoft. Al and Carl are evaluating the offer with a skeptical eye. They have made their criteria for acceptance of any grant money very clear in their posts above. They have also made it clear that they are perfectly willing to reject the money if there are unacceptable strings attached. Al has invited all interested community members into a semi-private discussion of the terms of the potential arrangement and, presumably, whether and how the money can be accepted without compromising the goals and values of the community.

For such an important topic, it is critical that we all understand exactly where the situation is right now. Philip G's post regarding the situation was false (though I'm sure there were no ill intentions on his part). The rumor he inadvertantly started was based on just enough truth to get people understandably upset. We need to be especially careful not to add to the misunderstanding.

Collapse
Posted by Janine Ohmer on
I think my first reaction to the .NET idea was the same as most everyone else's - shock, then a mental recitation of all the pitfalls of doing business with Microsoft. We all know this is a minefield, and those of us who have worked on cooperative projects with Microsoft in the past know all too well how badly it can go.

That said, I do think there are some things which dotLRN could benefit from: becoming "web services enabled", and running properly on Windows are both on that list. The former would be relatively easy to do today, but the latter is not. AOLserver is no longer supported on Windows, so at the very least, a solid Windows version of dotLRN needs to either support it's own version of AOLserver, or work with Apache. Neither of these are trivial undertakings and IMHO it would be appropriate to use Microsoft's money to achieve them, as long as the proper precautions are taken. So these are some good things which might possibly come out of the iCampus grant. (ok, one might question why running on Windows matters, but folks like Michael have made it clear that they have clients who won't use dotLRN unless it does, even though the thought makes most of us cringe)

None of us knows yet whether an actual port of dotLRN to .NET will happen, since no decisions have been made. But it is clearly the most "scary" scenario here, and as such I think it is worth discussing. If it happens, there are a few possible outcomes:

  • the .NET version runs with Mono and kicks butt, subsequently taking over the world
  • the .NET version runs with Mono and is slow; only MS shops with pointy-haired bosses want to use it
  • the .NET version runs with Mono initially, but MS pulls some kind of licensing trick and forces everyone with Mono apps to run them with licensed .NET tools instead; in that case, only MS shops who don't care about this will use it
Ironically, the most problematic outcome is actually the first; if it runs well and MS behaves themselves, then we run into all sorts of thorny questions like "what happens to the Tcl version". But I think this outcome is actually quite unlikely. I expect it would be somewhat slower than the Tcl version (though perhaps not dramatically slower) and that in the end, MS would not behave themselves. So the main thing to be gained from the exercise would be more good reasons, with data to back them up, as to why the project does *not* use .NET.

I think the main thing to keep in mind here is that Al's primary goal is to see dotLRN be adopted as widely as possible. He's not going to achieve that if Microsoft is perceived as owning the project, or if performance is poor, or if the community around dotLRN is divided into two warring groups. So you don't have to believe that he has the community's best interests at heart in order to trust him - his own self interest also dictates that this process be handled carefully and that the outcome is something that the existing community can accept.

Collapse
Posted by Jon Griffin on
People talk of MS funding and using this for and Open Source version that runs on .NET.

Let me tell you in BIG CAPS, IT AIN'T GONNA HAPPEN. Microsoft won't allow what it considers viral licensing into any project they fund. They may port it completly to .NET, but make no mistake about it, it will run on SQLserver and IIS with C#.

As far as misleading, yes dotLRN probably won't be funded by MS, but I have heard other rumors to the effect that there are already two people working on a C#/.NET version right now. I don't know if these two are MIT funded, but certainly one or more of them work at MIT (and no it isn't Phillip).

All those rumors could be false (including Phillips) but I seriously doubt it. MS needs to get at higher education and this is an easy fruit to pick; steal the data model (which may or may not be covered by the GPL) and build on it. This also has the added benefit of MS being able to upsell all the Universities who got "sucked in" to this virally licensed .LRN.

I have no doubt that the people currently working on .LRN (either technically or otherwise) have the best intentions, but when your boss (MIT) gets into bed with MS and they have a revelation, after a nice big donation, that all eLearning needs to be using the latest and greatest MS offering, we will see who wins (principal or money).

Will this happen? I certainly don't know, but I think it is a likely scenario if the rumors are true.

Yours ever controversially.

Collapse
Posted by Don Baccus on
I don't see anything controversial about your post, though I disagree with some parts of it.
Let me tell you in BIG CAPS, IT AIN'T GONNA HAPPEN. Microsoft won't allow what it considers viral licensing into any project they fund.
If this were unequivocably true, then talks between MS and MIT would most likely have ended already. I'm not privy to details but my understanding is that 1) MIT and MS have been talking 2) MIT has made its intentions clear 2) MS is still talking

I doubt that MIT's legal team have forgotten the Kereberos fiasco. MS didn't fund it, they just took advatage of the BSD-like MIT license , took it, and changed it to the point where Kereberos won't work with MIT's verison Setting themselves up to be ripped off again might happen, but I'm not terribly surprised to hear Al state it won't happen.

As far as misleading, yes dotLRN probably won't be funded by MS, but I have heard other rumors to the effect that there are already two people working on a C#/.NET version right now. I don't know if these two are MIT funded, but certainly one or more of them work at MIT (and no it isn't Phillip).

Al has stated that Philip's post is incorrect. Who to believe? It's possible that Al's misinformed, I suppose, but I doubt it.

All those rumors could be false (including Phillips) but I seriously doubt it.

Why? Al says they're in the study phase, no reason to doubt that. He says no deal's been closed, nor is there physical work being done. I see no reason to doubt that, either.

Answer this: if MS has already awarded this large grant to MIT, how come it's not been in the press? MS is going to milk this for all it is worth, and so is MIT. I'd bet money on a joint press release and I'd bet money on the NYT picking it up in the business section.

MS needs to get at higher education and this is an easy fruit to pick; steal the data model (which may or may not be covered by the GPL) and build on it.
The datamodel, expressed in SQL, is covered by the GPL just like any code. They can re-engineer it, of course, just as they could Linux or gcc.

If the datamodel weren't covered by the GPL, they wouldn't have to give MIT a large grant in order to rip it off. They could just do what MS has done in the past with Kereberos and the BSD TCP/IP stack ... use it legally without paying anyone a penny.

Since when has MS gotten so generous that they'll pony up large sums of money for something they can get for free?

Conversely, if the datamodel is covered by the GPL then that extends to the OpenACS datamodel. Remember that dotLRN is built on a bunch of standard OpenACS packages and their datamodels. MIT doesn't own copyright to those things and can't, for instance, agree to MS's having the right to issue those pieces in a proprietary way.

Now ... Torben's "deep pockets" comment about the success of a lawsuit if MS were to ignore the GPL and just rip off pieces for their own use is certainly one to think about.

But again ... they don't have to give MIT money in order to rip folks off. If they decide to rip off this or any other GPL'd project based on thinking that they can beat any legal suit, they'll just do it.

This also has the added benefit of MS being able to upsell all the Universities who got "sucked in" to this virally licensed .LRN.
There is this risk, yes.
I have no doubt that the people currently working on .LRN (either technically or otherwise) have the best intentions, but when your boss (MIT) gets into bed with MS and they have a revelation, after a nice big donation, that all eLearning needs to be using the latest and greatest MS offering, we will see who wins (principal or money).
Which I see as another compelling argument for getting the dotLRN Consortium up and for getting the dotLRN copyright assigned to the Consortium.

Because the Consortium will not be MIT, it will be its own legal entity. Imagine that MIT gets funded and then screwed by MS, despite its best legal efforts to ensure that they get the former without suffering the latter.

This doesn't impace the Consortium nor does it impact us.

Will this happen? I certainly don't know, but I think it is a likely scenario if the rumors are true.
The fears are rational, no doubt about that. I'm not downplaying them. But from our project's POV (OpenACS) and the dotLRN project's POV I see nothing to fear. Dilution of resource is one possible fear, but then again MIT is talking about adding MS money to the pot (or more accurately it's not the same pot). And whatever shakes down, we're seeing more resource made available to OpenACS/dotLRN in the near term and that's not tainted with MS money, not at all.

So IMO the absolutely worst thing that can happen from this is that the OpenACS community finds itself where it was a year ago except of course we'll have this great vertical app called dotLRN available unde the GPL, we'll have had a bunch more pieces added to it, we'll undoubtably have things like dotWRK out there ...

I mean ... MicroSoft's trying to take over the world with .NET and lock us all into a non-Open Source world, there's no doubt about that. Worst case from MS/MIT cooperation is that MIT might end up aiding and abetting MS's desire to do this, despite doing their best to push some .NET/Mono technology out into the world under the GPL.

But in all seriousness ... the practical effect of any accidental aiding and abetting is pretty much small potatoes. I worry more about MS's efforts to push Palladium, digital rights management, and similar things as being efforts to cut the heart out of the Open Source world.

Anything they do in regard to MIT would at worse mean that at some point in the future MIT funding of OpenACS-based work disappears in favor of funding of the .NET platform. That doesn't mean that we all of a sudden have no toolkit. Nor does it mean the Consortium disappears over night. All it means is a loss of a funding source for OpenACS-based work that didn't even exist 15 months ago ... we were surviving then, we'd survive this, too.

In the short term ... it's pretty clear that a near-term need will be integration with SOAP and the like. Things that many folks have said they need and want. This kind of stuff needs to happen with or without MS's grant to MIT and if anything is going to get funded by Sloan/MIT or other institutions or other clients not remotely related to the dotLRN world, it's going to include this, I'm quite sure.

Collapse
Posted by Jon Griffin on
Are you sure that data-models are covered by GPL, that was one question I really had. If they are then I think the whole point is moot. MS will re-engineer because they won't let GPL code into thier fold.

I thought that I read discussions to the effect that data-models are information and therefore exempt from copyright(left). Take for example, a schema person with firstname,lastname. If that data model is copyrightable then I will be first in line to file.

An analogy in the music business (which I am fully versed in copyright). You can't copyright titles and you can't copyright chord progressions. I think this would apply to this domain as well. If you can copyright data models we are all in violation as I am sure that someone did (amazon, MS,Sun).

Now the process of using those tables may be patentable, but I am not sure how copyright would work in the straight data model scenario. I am sure I can reverse engineer the data model of ACT and make my own with a different front end and they couldn't do anything about it. The same goes with Quicken and a lot of other programs.

Collapse
Posted by Alfred Essa on
For better or worse, we have decided to go the opensource route. This means that dotLRN is not owned by MIT any longer, but by the community. As far as I am concerned this means that Sloan will only proceed down the .NET path if there is *overwhelming* support for the effort within the community and it is widely perceived that this makes strategic sense to further the goals of the dotLRN platform. This is a community decision.

<p>
If we proceed with iCampus, then it will be as a *research* project to understand how a platform like dotLRN might be constructed from the ground up using a componentized web services architecture.
<p>
We would have three general aims:
<ul>
<li>understand how enterprise services (authentication) could be delegated, preferably  using OKI (Open Knowledge Initiative) APIs;
<li>understand how certain modules might be delegated (e.g. calendar, file storage) to external systems or applications;
<li>understand how the platform could be constructed so as allow consumption of web service data and applications, especially in learning management space;
</ul>
The funding that we are likely to receive is a fraction of what we would need to do full .NET port. The decision to do a full .NET port would come a year from now, depending on lessons learned, whether there's funding available, the state of Mono, and an overall careful analysis. It's way too premature to say that we are undertaking a .NET port.
<ul>
<li>
Can we achieve the same research goals by focusing exclusively on OpenACS? Yes.
<li>Will Microsoft fund it? No.
<li>Might we be able to use some of the iCampus money to further the dotLRN/OpenACS project? Possibly.
For example,  I would like to modularize the calendar functionality in the current version so that we have the option to store events in Exchange using Calendar APIs.
<li> Will Microsoft get a seat on the dotLRN board because of iCampus? No.
<li>Are there people at MIT working on dotLRN/.NET? No. Tracy Adams and Andrew Grumet, who work for me, have been learning .NET and would participate in the project if we move forward.
</ul>

What I urge you to think about is the following: if we can obtain funding and resources from Microsoft to strengthen dotLRN but using .NET in some way. Should we accept? If so, how should the funding and resources be used?

Collapse
Posted by Michael Feldstein on

What I urge you to think about is the following: if we can obtain funding and resources from Microsoft to strengthen dotLRN but using .NET in some way. Should we accept? If so, how should the funding and resources be used?

This is an excellent way of framing the issue, Al. Like many, I am very uncomfortable with the thought of a C# port. However, there are some things that I would like to see:

  • Integration with .NET applications would be great, provided that (a) the integration is optional and not part of the core dotLRN stack, and (b) the integration can be done with purely Open, non-Microsoft code. Integration with Outlook/Exchange is one great idea. I'd also love to see dotLRN interoperate with Groove, and I wouldn't mind seeing it interoperate with Blackboard Transaction Server. As I see it, if we stick with SOAP and other standards, we can integrate with Java, or whatever, just as easily. The .NET stuff would just be a first test of the concept.
  • I also wouldn't mind seeing dotLRN running on Windows servers. Again, I wouldn't want this to be a requirement [shudder]; just an option for those who want it.
  • As a hedge, it wouldn't be a bad thing to see some kind of nsmono like there's an nsjava (except have it actually work). I wouldn't want to see the dotLRN code depend on it, but having it there would eliminate one more argument against adoption for those who need to run .NET.
  • Finally, SQL Server compatibility wouldn't be a bad thing.

All of these suggestions have some common characteristics. First, they bring .NET to dotLRN/OpenACS rather than the other way around. Second, they make sure that .NET is not required to run dotLRN. Third, they increase user choices.

Collapse
Posted by Dan Wickstrom on
Michael,

I'm kind of surprised at your statement that nsjava doesn't work.  What is your basis for making this statement?  Have you downloaded it  lately and tried it?  Is it missing features that you think are essential for it to be considered working?

Collapse
Posted by Michael Steigman on
What I urge you to think about is the following: if we can obtain funding and resources from Microsoft to strengthen dotLRN but using .NET in some way. Should we accept? If so, how should the funding and resources be used?

How about TCL.NET (for Mono)? If the web services components were integrated into dotLRN/OpenACS using the service contract architecture, couldn't we just package up the .NET stuff into apms and turn it off and on with the flick of a switch, thereby reaping the benifits of .NET while avoiding dependence on it?
Collapse
Posted by Michael Feldstein on
Hi Dan. I didn't mean to denigrate anybody's handiwork, and my comments are based entirely on hearsay. I believe at one point I had found a WebDAV implementation written in Java and, when I raised the possibility of using it with nsjava on one of the bboards, I was told by somebody (I can't remember who) that nobody is using nsjava because it's flaky. I believe I poked around to see if I could find anybody to contradict that opinion but nobody spoke up, really.

At any rate, my comment regarding nsjava is based on old information which was hearsay at the time.

Collapse
Posted by Don Baccus on
Now the process of using those tables may be patentable, but I am not sure how copyright would work in the straight data model scenario. I am sure I can reverse engineer the data model of ACT and make my own with a different front end and they couldn't do anything about it. The same goes with Quicken and a lot of other programs.
You can reverse engineer Virtual C++, too. You'd just better make sure it doesn't look like a stolen copy of the source code to Virtual C++ ...

We may be talking slightly at cross purposes here in that the data model's a bit like (say) Linux. Just as surely as Oracle can run on top of an installed copy of Linux and remain closed, MS could run something on top an installed copy of our data model.

But the source to our data model is covered by copyright and released under the GPL just as is the source to Linux. Just because it's written in SQL rather than C doesn't make it non-licensable.

So I suspect you may be thinking about whether or not you can run on top of the data model once it's installed?

Can one reverse engineer the data model by just having Oracle spit it out and reconstruct it using different names, etc? That's a toughie ... certainly you can decompile the datamodel much more completely in this way than you can decompile a running binary so the level of practical vulnerability is a lot higher than for a traditionally compiled C program.

But then again obsfucating the source in the first place is easy to do for either C or SQL code and this way of trying to circumvent the GPL has yet to be tested in court.

And I still agree with Torben's assessment that if MS tries to work around the GPL with the presumption that they'll win in court due to superior resources, there's really nothing one can do.

But if the won such an action it would undermine their "GPL is viral, stop the GPL" political fight against Open Source, too ...

Collapse
Posted by Don Baccus on
Dan ... actually a  post on the status of nsjava good.

Michael and Dan .. I think the flakiness had to do with JVM issues.  Didn't the IBM JVM crash at some point while the Sun one worked, or vice-versa, due to some issues with running in a threaded environment?

That's how I remember the flakiness, it wasn't with ns_java per se but with one or more JVM releases available at the time.

Now Dan's going to tell me that if I weren't lazy and RTFM'd over at his nsjava sourceforge project I wouldn't need to suggest posting any status information in our forums :)

Collapse
Posted by Jon Griffin on
Don,

I want to clarify what I think I understand about copyright.

The exact source code to OpenACS is definitly copyrighted just like any code. The actual tables aren't.

What I mean by that is that if I take a copy of OpenACS and create my tables then I have to abide by GPL. However, if I read documentation, or simply do a dump of another system (like you suggested), I think the courts will say that this is information as opposed to intellectual property and that is the key difference. I could also keep the table names the same (names can't be copyrighted) and rebuild the plpgsql (which would have to be done anyway in whatever sqlserver uses). The only compatibility really needs to be with the actual tables and the rest can be clean roomed very easily. I certainly wasn't suggesting that they would just steal our code. All they need are the tables.

Of course as you say, it is all really academic in the fact that MS has already proven it can do what it wants, and if 5 years from now there is a remedy so what, they will already own the market.

Collapse
Posted by Malte Sussdorff on
The suggestion of using exchange for storing calendar information is great. We should think about going even further. If you look at the modules of OpenACS independently, you will see there is something out there that does the job better (look at webmail (IMP, fastmail), bboards (several PHP based ones), calendar (Yahoo {open to discussion...😊} )). The strength of OACS and therefore dotLRN lies in a combined data modell and integrated approach. If there was a port to .NET I'd assume a lot of the services that exist somewhere else and provide webservices using .NET architecture (or mono, or java or whatever else comes down the road. After all we are talking about IT, so things will change anyway every couple of years) would be used instead of going down the effort and really port modules. At least that would be economical, technical feasability and legal issues left aside.

Now, where does this leave dotLRN? Take into account that universities might not like the complete package but are keen on using a special BBoard or a cosy News and CMS package. What dotLRN should provide is the possibility to use these services instead, using well defined (by the TAB) interfaces. Furthermore, go the other way round as well, open up the modules to be queried by other websites/services. If a student does like to keep his calendar in Yahoo, allow Yahoo access to the dotLRN calendar. If they want to use fastmail, provide them access to the mail stored in the database.

Therefore, as my consecutive question, will the dotLRN movement consider opening up the architecture to allow webservices in both directions and is this something already on the list of desired features of the stakeholders especially in the EB {as this would most likely get funding first}.

That question has already been answered in part by Al, so no need to restate unless you see it even further 😊.

Collapse
Posted by Dan Wickstrom on
Don, no I'm not going to tell you to RTFM page at sourceforge. So as not to clutter up this thread with an off-topic discussion, I've posted a status in a separate thread.
Collapse
Posted by Don Baccus on
Therefore, as my consecutive question, will the dotLRN movement consider opening up the architecture to allow webservices in both directions and is this something already on the list of desired features of the stakeholders especially in the EB {as this would most likely get funding first}.
Well ... more importantly the OpenACS community seems to recognize the need for two-way services of this sort.

Look at the fact that we've already got an RSS package that lets you dump content to any other server that understands RSS, and look at the interest that's been expressed about SOAP (which by nature implies an interest in two-way behavior). Look at the interest shown already for IMAP support for any webmail type package we might want to have, and calendaring support (there's been a lot of interest even in that little hack I did that's in ACS 3.5).

So fundamentally I don't think there's any selling to do to our community here.

There's just a ton of work involved ...

Of course if I'm wrong I'm sure people will point it out, but over the last year or so there's been a *lot* of discussion about wanting to be able to integrate with XML-based exchange protocols like SOAP and RSS.

Collapse
Posted by Roberto Mello on
I don't know why people have been mentioning the .NET port as using C# as if C# is the only thing you can use in .NET. I doubt that's what it would be written in. C# != .NET

All we need to make OpenACS/dotLRN services be available via ".NET" is to have XML (already have that one), SOAP (Tcl has that), WSDL and UDDI (I'd assume Tcl SOAP has those two as well).

I've been wanting to write a small proof-of-concept OpenACS package using tDOM that would make some OpenACS service available and also make use of the google SOAP API (http://www.google.com/apis/)

Collapse
Posted by Dan Wickstrom on
Roberto, that google reference is pretty interesting.  They provide a .jar file that provides access to their soap interface using java.  I added the .jar file to the nsjava classpath and created a simple tcl script to search google using nsjava and it worked.  The demo dumps the results to the aolserver log file (writes to stdout go to the log), but the googleapi soap api is completely documented, so it appears that it would be easy to write an nsjava tcl script to get the search results and query the results for individual pieces of information. I'm going to play around with this some, as it looks quite interesting.

The googleapi demo also includes a .net example and a perl example.

Collapse
Posted by Roberto Mello on
Dan, as usual you beat me to it 😊

That great though. I'm glad that you posted that nsjava status document, as it no doubt will be very useful to OpenACS in situations where hooking up with Java are necessary.

I'll play around with tDOM to see if I can get it to search google. That way we can compare notes and how we went about doing it.

The reason I'm more interested in the Tcl SOAP stuff is because tDOM seems that can completely replace nsxml (which is no longer actively maintained, where tDOM is), and there are reports of good performance improvements over nsxml.

Perhaps we'll have to keep a compatibility layer with nsxml calls though.

Collapse
Posted by Don Baccus on
Currently there's so little use of nsxml in the code, and the first nsxml was so minimal in regard to exposing libxml, that a 100% switch to tDOM seems like the right thing to do.

Of course folks using nsxml privately can continue to do so.

Collapse
Posted by Dan Wickstrom on
I played around with the google example a little more, and it turns out that the soap interface is quite easy to use. Here is an example search query:

package require nsjava

# import the google search classes
nsjava::import -package com.google.soap.search GoogleSearch GoogleSearchResult
set result ""

# create a google search instance
set s [nsjava::new GoogleSearch]

# set the authorization key
$s {setKey String} 0XmNi33L1CMmAUFQxxxbOyyyDzdf

nsjava::try {
    $s {setQueryString String} $q
    set r [$s doSearch]
} catch {GoogleSearchFault f} {
    append result " The call to the Google Web APIs failed:[$f toString]"
}

# was a result returned?
if [string equal $result ""] {
    set count [$r getEstimatedTotalResultsCount]
    set etime [$r getSearchTime]
    set sidx [$r getStartIndex]
    set eidx [$r getEndIndex]
    set els [$r getResultElements]
    set result "<h3>Search Results ([expr $eidx - $sidx + 1]) item(s) in $etime seconds</h3>
"

    set cnt 1
    for {set i $sidx} {$i < $eidx} {incr i} {
        set el [$els get $i]
        append result "${cnt}.  <a href="[$el getURL]">[$el getTitle]</a><br>
[$el getSnippet]<br>"
        incr cnt
    }

}


ns_return 200 text/html $result


It turns out that the googleapi.jar file contains the following contents:

So other than the google soap wrapper api, the rest of this code is freely available. Assuming that nsjava could be made to operate reliably (including easy installation), soap integration with aolserver is already freely available now.