Open Source Community reaction to ActiveState & Perl
feeder sent us a recent Techweb story purporting to talk about the Open Source community reaction to the announcement from Microsoft and ActiveState about ActiveState being funded to extend Perl support under Windows. The story is indicative of some of the standard concerns-but how much do we have fear - what does everyone think?
The entire reason that Perl on Win32 exists in as good a form as it does is because Microsoft wanted to ship Perl in the NT Resource Kit a few years back, having recognized its importance, and hence paid for the port.
In doing so, a somewhat roughshod port & a set of new packages were created. Since then, things have been cleaned up a lot and Win32 is a well supported Perl platform, largely due to MS's original investement.
Now they're just doing exactly the same thing. Of *course* they want to make Perl MS-proprietary if they can. However, they really can't. Perl itself is not controlled by MS or ActiveState, so there's no way they can get total crap into *true* Perl.
ActiveState always has, and will continue to, distribute a version of Perl that it has compiled, no doubt together with some new modules etc., but I don't really think this will change things too much. It certainly can't affect Perl on other platforms since they can't directly affect the real Perl distribution, so all us Unix people are quite safe.
Now, they could fork Perl and produce an MS-only version, but would that be *so* bad? *If* this happened, then ActiveState would certainly continue to graft in any enhancements to the Perl core and hence users wouldn't lose anything much, except for perhaps a time delay, much like the one that we have now waiting for AS to give us a new build.
We can all argue that adding Win32 features is poluting Perl, but I can't really agree. There is no logical reason Perl should not expose Win32 APIs (via modular modules) other than the MS-is-shit-Down-with-MS-I-am-a-sheep attitude.
ActiveState may not be out to 'embrace and extend' PERL, but MicroSoft probably is.
This is probably the first step toward a Microsoft PERL[tm]. Then, after they have distributed it with the the operating system (probably in a Service Pak) and given it away to thousands of developers and developer CD, the embracing and extending comes.
Many of us will know the difference, but many, many more will not. What we need to do is be able to educate developers on what the word "Standards" means (MS has a really weird definition) and come up with further strategies on how to prevent corporations from hijacking our software. The GPL is good, but nothings been tested yet.
Hang on. It's going to be a bumpy ride.
jf
I get really passionate about this because I believe in libre source software. Folks, no matter what M$ does, they cannot steal the source. You have your copy. M$ cannot take that back.
Suppose the worst the Artistic License lets them do is release their own MicroPerl with proprietary core additions that they don't release source for. Now what?
You still have the real Perl. And M$ has just inherited a can of worms, trying to keep their proprietary version in sync with the legions of Perl hackers maintaining the real thing. If they succeed, it robs them of a lot of manpower, and for no gain, because, either way, they are incompatible with, and have lost the utility of, the thousands of CPAN modules. Can you spell W-O-R-T-H-L-E-S-S?
Now let's go to motive. Why would M$ want to hijack Perl? I mean hijack as in destroy, not hijack as in use productively. Their reason for destroying Java is to prevent "write once, run everywhere" as a Windows alternative, and to piss off a competitor (Sun). Guess what? Perl isn't a similar threat, and there is *no* competitor to damage.
You naysayers and doomsayers remind me of politicians with knee jerk reactions. Grow up, figure out what's between your ears, learn how to use it for yourselves without being a slave to Microsoft. Whether you follow them slavishly, or react against them slavishly, matters not. You need to think for yourselves, not for or against Microsoft!
--
Infuriate left and right
So, M$ gets some custom Win32:: modules, and the win32 platform-specific code gets some extra stuff in it to make up for the limitations in Windows. Big deal. This is no different from the platform-specific bits for VMS, MVS, OS/2, Plan9, or half a dozen different flavors of Unix.
/proc, or the SYSUAF) is all that portable.
Anything that ActiveState puts into the core has to be covered by perl's licensing terms, so the source'll be in the main tarball. And if they really want to fork off the source tree and make changes they don't release, well, that's OK too by perl's license.
Besides, 90% of the perl people write is platform specific anyway, so who really cares? Is it so much worse to have a perl program that does Windows specific stuff than it is to have one that does something Linux specific, or VMS specific? It's not like code that plays with the registry (or
Perl will remain perl regardless of what M$ might like to do to it. They've as much chance of coopting perl as they do coopting Linux.
and that OS will improve as a result.
and Micros~1 Needs a good modern language
and the API requirements of a Win32 port will tend to open now closed Micros~1 code.
Seems like win-win to me.
Perl cannot be corrupted, but it can and will improve its operating environments
I want Perl as deep inside as we can get it
Lets call it Beauty and the Beast
Just another perl hacker in Bangkok
That is the point too it: they will not have to make the changed parts public as well.
d eeply_nested/tools/perl/true_origin.asp
It is often said that the GPL is too restricive because of the viral properties, but I guess this situation with M$ and Perl will show us what a more lenient license will produce:
M$ will embrace perl, making nifty additions that only work in the windows version and will follow the letter of the Artistic License by providing very nice links and pointers to the real thing on the following url:
http://www.microsoft.com/stuff/msdn/more_stuff/
This url will be linked from nowhere but will be handy when the next trial case comes around.
And millions of lusers out there will believe for ever after that M$ VisualPerl was invented by M$ Anno Domini 2000. Ask most people what they think where Basic comes from!
This exactly stated in the Helloween Docs.
So Long (I rather hug than embrace)
mfg lutz
This not the first article I've seen on this topic where posters refer to, "...the way Microsoft killed Java."
I respect the programming language Perl and understand that it is very powerful. I am not a Perl coder, however (yet).
I use a handful of other languages, though. Java is one of them. I'm not "married" to any language (well, ok, C perhaps) and can get along fine if one or more of them is "killed". If Java really was killed, I would say, "Bummer -- it was a nice language," and fire up the C or C++ compiler.
That hasn't happened yet. Reports of Java's demise are greatly exaggerated.
It's more accurate to say that Java has not lived up to its hype. In 1996, pundits expected everyone to be porting all of their C++ apps to Java in 3 years. Obviously, that's not happening.
But I don't think any language COULD live up to that amount of hype or that aggressive a time table. Furthermore, anyone who expects companies to rewrite millions of lines of legacy code written in very popular, powerful languages like C++ is just not being realistic.
I recognize and thoroughly resent Microsoft's attempt to "embrace and extend" Java with incompatible libararies. Honestly, though, did anyone really think that Microsoft would just stick with Sun's standard and not try to add their own goodies? I look at C++ vs. Visual C++ here. As best I can tell, Microsoft's Foundation Classes have done nothing to harm good ol' C++. When programmers want portability, they just don't use MFC.
So Microsoft may not support pure Java anymore. So what? Sun and others make perfectly good runtime environments that are zero-cost and run just fine on Win32.
In short, it just bugs me when I see people pronouncing Java "dead". Especially in a forum like slashdot where FUD is a four-letter word. Why all this langauge "holy war" nonsense anyway? Is anyone really willing to bet the farm that their favorite language today will be their first choice in ten years? If Java goes away and I decide to code in Perl, so be it. The langauge is just a tool.
Save the whales. Feed the hungry. Free the mallocs.
Even if they keep it open they can do a great deal of damage by implementing MS Windows-specific functions. That would fragment Perl and introduce much confusion into even the usage of the term, "Perl". Would even the GPL protect against this kind of "embrace and extend" strategy? I think not.
FUD
There are already MS Windows specific functions in Perl. There are Mac specific functions in the Macintosh port of Perl. There are VMS specific functions in Perl. There are Unix specific functions in Perl.
ActiveState doesn't maintain Perl. ActiveState doesn't determine what goes into Perl and what doesn't. Ultimely, it is Larry who has a final say what goes into Perl and what doesn't. And Sarathy, the current Perl pumpkin. And he listens to what p5p (perl5-porters) have to say.
Microsoft can contribute a lot. If it's good, and if it benefits Perl (like a fork() for the Windows platform) it will be added to Perl, be it in the core, or as a module in the standard library. If they come with crud, it will never find its way to Perl.
People should learn to listen to what the people that work on Perl have to say about this before uttering their FUD on forums like this.
--- Abigail