r3wp [groups: 83 posts: 189283]
  • Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search
 

World: r3wp

[!REBOL3 Extensions] REBOL 3 Extensions discussions

Gregg
30-Jul-2010
[1354x4]
Carl, by STDIO, I just mean the basics for writing pipe-and-filter 
apps. e.g. 

  while [data: input] [print data]


I just found http://www.rebol.net/cgi-bin/r3blog.r?view=0282so maybe 
we're close and just need to write up some examples and a doc page 
explaining limitations on different OSs. Gabriele has some things 
in his power-mezz package as well (chain, filter, pipe), which are 
worth keeping in mind. The blurring of lines between in-process and 
inter-process, and piping is where we need design direction from 
above. 


A REBOL way (passing around blocks of dialected data, i.e., messages) 
vital, but we also need gateways to other mechanisms. The REBOL way 
is critical because it reduces or eimilates external dependencies 
and provides a model for gatewys to emulate.
It looks like the Win32 binary is from 2006 and the main daemon is 
~200K.
http://www.spread.org/download.html
License note:


This software is licensed under the Spread Open Source License. This 
license is SIMILAR BUT NOT IDENTICAL to the BSD license. Specifically, 
the license includes the requirement that all advertising materials 
(including web pages) mentioning software that uses Spread display 
a specific acknowledgement.
BrianH
30-Jul-2010
[1358]
So it's like the old BSD with the advertising clause, the one that 
people complained about. Nifty.
Gregg
30-Jul-2010
[1359]
Yeah, but if that's the biggest complaint we have... ;-)
BrianH
30-Jul-2010
[1360]
That's not insignificant, as the advertising clause of the old BSD 
made it legally incompatible with a lot of other licenses. Particularly 
(L)GPL, but we as a community need to be avoiding (L)GPL code anyways 
for a lot of reasons. We'll have to be careful.
Gregg
30-Jul-2010
[1361x2]
If it's done as an extension it shouldn't be an issue for RT, correct?
If it's rolled into a host, then you need to care. Having it built 
in would be very cool so, yeah, you're right that we need to care.
BrianH
30-Jul-2010
[1363x2]
One: yes, it would still be a problem even as an external extension. 
Two: we would have to do it as a host-embedded extension if we want 
to use this for the core intertask messaging solution, and that is 
the same as linking the code in.
Remember that advertising clauses are transitive, so all of our apps 
that we build with R3 would need to advertise Spread too. Even apps 
that we build for third-parties.
Gregg
30-Jul-2010
[1365]
Yes, if it's built in, we're in sync. But if it's an external extension, 
doesn't it become a problem for us as individuals rather than RT?
BrianH
30-Jul-2010
[1366x3]
Nope, because it becomes a problem for any person who uses that extension 
in their product.
It doesn't matter anyways, because we are discussing the standard 
intertask messaging mechanism for R3. That can't be external, it 
would have to run when external extensions are prohibited by security 
restrictions.
This is why BSD got rid of the advertising clause in the first place.
Gregg
30-Jul-2010
[1369x2]
Yes, that's what I mean. We who distribute it, and passed along to 
those who use our work.

I'm willing to pay that price, but I can only speak for me. :-)
First, though, maybe some design thoughts about what our ideal IPC 
interface would look like.
BrianH
30-Jul-2010
[1371x2]
To be fair, when last I tracked your job situation it didn't involve 
distributing REBOL software to customers directly, so that clause 
probably *would* work for you :)
Yes, design thoughts, back to the subject :)
Pekr
30-Jul-2010
[1373]
Gregg - to be honest - 200KB? Total bloat. I work in enterprise sphere 
for 15 years, and never heard of something like "spread". In fact 
- noone in enterprise sphere cares. Guys, really - let's have clean 
 and mean REBOL solution, the REBOL way. Then we can interop with 
other systems, as the need arises. Let's not adhere to pseudo standards, 
because they have some juicy website ...
Graham
30-Jul-2010
[1374x6]
Re: Spread, it doesn't specifically say how you have to advertise, 
so one small clause on one page somewhere on the website would suffice
But asking each application built with R3 to also include a notice 
like this seems a big pain
I wonder if including this "This product uses software developed 
by Spread Concepts LLC for use in the Spread toolkit. For more information 
about Spread see http://www.spread.org"as a text string in the source 
counts?
Anyway, I guess most apps have some type of licensing that is viewable 
from the app, and you can just include the line in there.
I don't think it's a biggie .. more of an issue is how good is it, 
how complex, has anyone used it etc
Interestingly the first site I went to using this software does not 
display this text!  http://code.google.com/p/spread-excel/
Gregg
30-Jul-2010
[1380x2]
Brian, I do commercial app development in REBOL as well as in-house.


Petr, I'm not here to defend Spread. I mentioned it because when 
I looked at it before, it was something I marked to remember because 
it wasn't too large or complex and didn't try to do too much (compared 
to, say, AMQP). 

I only played with it breifly, I didn't put it into production. 

I want a REBOL solution too. :-)
The questions are:

1) What do we need?

2) Can we build it?
Graham
30-Jul-2010
[1382]
Did you get it working at all?
Gregg
30-Jul-2010
[1383]
I havne't tried using it from REBOL. Their test apps did work IIRC.
PeterWood
30-Jul-2010
[1384]
I have worked in enterprise sphere for 35 years and never heard of 
something like "REBOL" from anybody that I've every worked with.


Let's make sure that we don't change this and keep REBOL clean and 
mean and to itself.
Graham
30-Jul-2010
[1385]
Well, for 25 of those years REBOL didn't exist !
PeterWood
30-Jul-2010
[1386]
2010 - 1997 = 10 ?
Graham
30-Jul-2010
[1387]
rounded down
PeterWood
30-Jul-2010
[1388x2]
Mathematics aside, it should be obvious by now that REBOL is not 
in any way attractive in mainstream IT. I believe it's insularity 
doesn't help though that is only one reason. I made the comment tongue-in-cheek 
as I see no relevance to the worthiness or otherwise of a library 
just because somebody who has worked for 15 years in "enterprise 
sphere" never having heard of it.
Whether Spread would be right for REBOL is another matter though 
it would offer a limited  alternative for secure inter-process communications 
with non-REBOL processes without having to resort to either cgi or 
"roll-your-own".
Graham
30-Jul-2010
[1390]
The point is, any software should be judged on its intrinsic merits 
rather than how widly it is used?
PeterWood
30-Jul-2010
[1391x2]
Yes. For many, merits include robustness, reliability, documentation, 
support and availability of skilled people.
..and of course, its ability to integrate with what they already 
have.
Graham
30-Jul-2010
[1393]
Maybe we should make a list of candidate libraries and decide what 
is the best fit to our as yet unstated needs?
PeterWood
30-Jul-2010
[1394]
Perhaps it would be even better to state our needs for inter-process 
communication first?
Graham
31-Jul-2010
[1395]
Well I first raised the quesion of how an external extension might 
be able to communicate with the rebol application
Pekr
31-Jul-2010
[1396]
PeterWoo - you talk nonsense, which belongs in advocacy group :-) 
If you work for 35 years in enterprise, then tell me, if you met 
spread there. The messaging is done by so called middlewares. IBM 
has MQ series, SAP has XI. Those engines use the so called connectors. 
Everybody went the web-services route, hence having ability to talk 
SOAP might be more important for REBOL. I never argued against having 
as much libraries as possible wrapped to REBOL, the only thing I 
argued against is eventual 200KB library inclusion in REBOL, just 
to do IPC between REBOL tasks ...
PeterWood
31-Jul-2010
[1397]
but hopefully not arrogant nonsense :-)
Pekr
31-Jul-2010
[1398]
Well - I don't mind. It is not about if I ever heard about it. It 
is all about - how much interoperability with outer world do we get? 
E.g. - can you talk to most Windows or Linux (Unix) apps with it, 
like Amiga Arexx? Can you talk to SAP, Orcle APPs, WebSphere, SharePoint, 
etc. enterprise apps? In fact and once again - -I expect having extensions 
to as many systems as possible, but we surely also know, how picky 
is Carl about what is going to be included into standard distro, 
and 50KB is considered being a big addition :-)
Graham
31-Jul-2010
[1399]
Spread requires a daemon to be running ... so this doesn't fit
Pekr
31-Jul-2010
[1400]
what I would like to see for IPC mechanism is some port/events mechanism. 
And then, on top of that, the way to go is the Uniserve like engine. 
Python has Medusa - simply put - multiprotocol engine, to communicate 
with external world ...
Pavel
31-Jul-2010
[1401x2]
Graham IMO almost every IPC need somewhat daemon runing. The library 
"could" be linked in extension and try to open communication with 
daemon, when it doesnt find the daemon let start its own (first process 
trying to comunicate), what is nice in Spread it combines P2P and 
multicast and members/group policy, and of course single/multi machines.
Pekr I think in port event model the only what is neccessary is open 
events to OS events (what possibly is already done, but we don't 
know how to use it), not only GUI events. Than you can use local 
pipes (managed by OS including event signalling). Question is if 
multi machines IPC would go this way. Anyway all this is solved in 
QNX (signalling abstraction local/external). Question if they use 
sockets for this.
Pekr
31-Jul-2010
[1403]
Pavel - yes, we have so called system port, but we don't know much 
about it :-) I hope we get Amiga/QNX kind of design in the end. At 
least that is what I would expect from the messaging expert, Carl 
:-)