Follow Slashdot blog updates by subscribing to our blog RSS feed

 



Forgot your password?
typodupeerror
×

Sun to Release Java Source Code 349

pete314 writes "After resisting for years, Sun Microsystems CEO Jonathan Schwartz at JavaOne this morning said that he will release the source code for Java. The company is asking developers to provide feedback on how to best get there and prevent forking and fragmentation."
This discussion has been archived. No new comments can be posted.

Sun to Release Java Source Code

Comments Filter:
  • Misleading Headline (Score:5, Informative)

    by AKAImBatman ( 238306 ) * <akaimbatman&gmail,com> on Tuesday May 16, 2006 @02:55PM (#15344634) Homepage Journal
    "After resisting for years, Sun Microsystems CEO Jonathan Schwartz at JavaOne this morning said that he will release the source code for Java.

    BZZT! WRONG! Java source code has been available for YEARS! (And no, I'm not going to bother linking. If you don't already know where to find the SCSL and JRL licensed code by now, you need to pull your head out of your butt and Google it.)

    This article is nothing but a blurb that suggests that Sun is looking at Open Sourcing Java. (What the Slashdot pundits have been screaming for, for years now.) Unfortunately, one of OSI's core requirements is forking. So Java will never be able to make the pundits happy. :-/
    • by Coryoth ( 254751 ) on Tuesday May 16, 2006 @03:12PM (#15344801) Homepage Journal
      Unfortunately, one of OSI's core requirements is forking. So Java will never be able to make the pundits happy.

      Sure they can - there are other ways to pevent forking than in the license. Look at most of the major OSS projects around and you'll see that there is very little in the way of forking - sure minor forks exist but they quickly die. Sun doesn't care about some minor fork of Java that 20 people use that eventually dies, they are worried about a significant competing standard that honestly splits developers between two different platforms. How often has that happened with big OSS projects? Hardly ever. The question is not so much "what can be done to prevent forking" but "what happens that causes a successful fork". The major examples of significant splits in the OSS world would be Emacs/XEmacs, gcc/ecgs, and XFree86/Xorg. In each of those cases the reason for both the fork, and the success of the fork, comes down to the original project stagnating and being unresponsive to change. Avoid that and you tend to avoid significant forks.

      Jedidiah.
      • Remember the Unix wars [wikipedia.org] fiasco?
        • Which interestingly enough took place between proprietary systems, not open ones. In that sense the UNIX wars are more akin to the battle between Java and C# and .NET (which could, indeed, be seen as damaging to the VM market). That is to say, regardless of what Sun does with Java they are already facing the same sorts of problems.

          Jedidiah.
      • by AKAImBatman ( 238306 ) * <akaimbatman&gmail,com> on Tuesday May 16, 2006 @03:20PM (#15344867) Homepage Journal
        Sun doesn't care about some minor fork of Java that 20 people use that eventually dies

        But they DO care about IBM or Microsoft creating a VM that advertises compatbility, but actually pulls the bait-and-switch routine. Remember, Microsoft already tried to pull that routine with the NON-OSS version of Java. It was the license that stopped them. This time, you can be sure that they would stay precisely inside the letter of the law. No Java trademarking, but no compatability testing either. Companies will start to rely on it for its Windows performance, and then Microsoft will start introducing subtle differences. Before you know it, users will blame Sun for being incompatible.
        • But they DO care about IBM or Microsoft creating a VM that advertises compatbility, but actually pulls the bait-and-switch routine. Remember, Microsoft already tried to pull that routine with the NON-OSS version of Java.

          Sure, but they will still own and control the Java trademark and they can simply bar such bait-and-switch advertising. Microsoft can fork Java all they want, they just can't call it Java, nor Java comnpatible. Besides MS is unlikely to do any such thing now since their efforts are heavily su
        • But they DO care about IBM or Microsoft creating a VM that advertises compatbility, but actually pulls the bait-and-switch routine.

          One way to manage that risk might be to pull a page from the (oddly enough) pen & paper RPG world -- when Wizards of the Coast adapted the open source idea to those kind of games by releasing the core of D&D/3e under its Open Gaming License as the d20 System Reference Document, it faced similar concerns, so its content licenses requires surrendering rights that the us

        • "No Java trademarking,"

          Why? Open source does not imply no trademarking. Look at RedHat for a good example. As this post [slashdot.org] said, Sun can make it so only compatible VMs can call themselves "Java". Isn't that THE ideal solution? Why don't people spend more time discussing this instead of yelling "OMG open source java evil nonononono!!!!" all the time?
        • IBM? Microsoft? (Score:2, Insightful)

          Firstly, IBM are the good guys nowadays. They like open source, because they make their money selling integrated systems and it's nice if someone else does the donkey work.

          Second, MS may be as evil as they ever were, but the whole "they'll fork Java" thing is so 1990s. Java is (a) very very solidly entrenched in its serverware and small cross platform app niche (b) a competitor to their flagship C#, so the last thing they want is draw people back to Java, of any fork or species.

          Microsoft's probable response
          • Re:IBM? Microsoft? (Score:5, Insightful)

            by Schraegstrichpunkt ( 931443 ) on Tuesday May 16, 2006 @04:19PM (#15345525) Homepage
            Microsoft's probable response to OSS Java, would be to comb through the source code for bugs, and call a press conference to announce "one gadzillion bugs found in open source Java, more probably exist".

            I think the last thing Microsoft wants to do right now is to put "lots of bugs == bad" into people's minds.

        • "Open Source" doesn't conflict with "name protection".

          See for example the GFDL and the Artistic License for clauses restricting the naming of derivative works, and the BSD license for a clause restricting "endorsement".

          Besides which, unless a license specifically makes itself "incompatible" with trademarking, then the following case will generally hold: if the license would grant you the right to distribute a modified version, but a trademark prevents you from distributing it under a given name, then the li
      • Ok, I will throw out an example.

        Microsoft says "Great Sun open sourced Java". We will take it bundle it with windows, change all the underlying code so that it actually uses windows API's, remove anything that competes against our stuff like SWING, EJB's, Servlets, messaging API's et al, and make it so that our Java only runs on Windows, and even if you try to run a "normal" Java application , it will not work unless you change it to support com.microsoft.xxx libraries, and jump through a ton of hoops.

        Now
        • by Coryoth ( 254751 ) on Tuesday May 16, 2006 @04:00PM (#15345324) Homepage Journal
          You throw out a couple of scare scenarios here with either Microsoft or IBM making a mess of Java, but as far as I can tell they are just that, wild scare scenarios that simply aren't viable if Sun is at all on the ball. For starters Sun can keep the Java trademark and simply bar Microsoft and IBM from advertising whatever they care to sell as "Java". From there it is a question of exactly how either Microsoft or IBM is going to get their new language and VM (whatever they decide to call it - maybe microsoft will call it C# and .NET; no, wait, they already did that) to be dominant, or at least bootstrap it into being a competing standard. Microsoft can do that, as you point out, by leveraging their monopoly. The thing is they've already done that: C# and .NET. They can do that quite successfully whether Sun opens sources Java or not. So for Microsoft the argument is rather moot. What about IBM? They don't have a monopoly to leverage so they'd have to resort to the nasty tactic of making a better language and VM with better libraries to manage to get it to take off. But wait, they can only do that if Sun drop the ball in exactly the manner I described and let Java stagnate and become unresponsive to change. So we're back where we started. Sun open sourcing Java really isn't going to make a lot of difference unless Sun drops the ball themselves - which is exactly what I originally said.

          Jedidiah.
          • If Sun can stop anyone from using the word "Java" then we agree, but if they allow forks then it appears that Microsoft could call it MsJava and change their vm to also accept Java compiled code.

            I am not talking about a complete rewrite of a language like they did with .Net and C#. I am talking about them having control of a JVM. We have lived in that world and it sucked, I don't think anyone wants to go back to it again.

            As far as IBM goes they still own a lions share of the server market and could easily
      • by dnoyeb ( 547705 )
        Sun is worried about IBM forking there code. Which is predictable. Or what about Microsoft trying to take another jab at Java. its not Open Source developers they fear.
    • while source code for the java languages is opened and available, what the "pundits" have been calling for is the source code to the virtual machine and the compiler. That is C code and is NOT opened. In fact, the lack of openness led to gcj and the other java vm.
      • by AKAImBatman ( 238306 ) * <akaimbatman&gmail,com> on Tuesday May 16, 2006 @03:32PM (#15344976) Homepage Journal
        what the "pundits" have been calling for is the source code to the virtual machine and the compiler

        WindBourne! I'm shocked to hear such garbage from you!

        Current "Stable" JVM - <= 1.5 [sun.com] (SCSL)

        "Unstable" JVM Branch - 1.6 [java.net] (JRL)

        Every, (and I do mean every) story on Java here on Slashdot has contained one of those two links. Most of them contain BOTH. Why? Because the trolls come out in force. The fact that you didn't take the time to look into the matter (I believe I suggested Googling for it) is disappointing and disheartening. :-(
    • Comment removed (Score:5, Insightful)

      by account_deleted ( 4530225 ) on Tuesday May 16, 2006 @03:28PM (#15344946)
      Comment removed based on user account deletion
    • Unfortunately, one of OSI's core requirements is forking.

      There are ways to minimize forking. For example, a license could require modifications be distinct from the original (ei. patching). The QPL license does this. But a far easier way is to simply trademark the name (already done), and only permit it to be used on the original (or approved) code bases.
    • Forking? They are worried about FORKING? Do you know how many FORKING Javas I have on my manchine to cover all the stinking apps that require a specific version of Java?

      Let it fork, it can't POSSIBLY get any worse.
  • Its Simple (Score:5, Funny)

    by Bill, Shooter of Bul ( 629286 ) on Tuesday May 16, 2006 @02:55PM (#15344637) Journal
    Use a spoon. Not only does it prevent you from forking, but its really hard to fragment anything with it.
  • C'mon Sun, we're sick of hearing about the pending open sourcing of Java. Show us the license!

    I know, I know, Sun's afraid that Eclipse is going to... well eclipse the sun, but c'mon! make it GPL, retain the trademark and you won't believe the explosion in Java coding you'll see!
  • by mungtor ( 306258 )
    That's why they have resisted it for so long. Now it will just be one more thing where there are sneaky, annoying inconsistencies between distributions. Nothing will be "broken", but things will end up being implemented slighly differenty and some portability will be lost.

    I guess it doesn't *have* to happen, but there seem to be more than enough people that want to take Java away from Sun that it's inevitable.
    • That's why they have resisted it for so long. Now it will just be one more thing where there are sneaky, annoying inconsistencies between distributions. Nothing will be "broken", but things will end up being implemented slighly differenty and some portability will be lost.

      But that's already potentially happening; there are OSS Java implementations already, the only guarantee of consistency with Sun's standard is the attention to detail of the OSS community. Any threat Sun faces from forking its code (whe

  • by pla ( 258480 ) on Tuesday May 16, 2006 @02:58PM (#15344680) Journal
    Jonathan Schwartz at JavaOne this morning said that he will release the source code for Java. The company is asking developers to provide feedback on how to best get there and prevent forking and fragmentation.

    Well, as a developer, I will tell you THE one and only way to prevent forking and fragmentation...

    Don't release the source code.


    Oops.
    • Don't release the source code.

      Or another option is to not piss off contributors by rejecting suggestions and otherwise being resistent to change. Nobody is going to bother forking if Sun remains responsive to the community.

      -matthew
    • There is demand for a Free implementation of Java and its standard libraries. One way or another, it will happen. The question is, how is it going to happen?

      One way is for Sun to keep a tight grasp on Java and not open-source their implementation. That means a from-scratch implementation has to be written.

      Another way is for Sun to open-source their implementation. That way, alternative implementations don't need to be written.

      The question is; which do you think will produce most divergence? A

  • by gronofer ( 838299 ) on Tuesday May 16, 2006 @02:59PM (#15344686)
    The code isn't going to fork itself. If Sun is doing a reasonable job maintaining the source code, they don't have much to fear from a fork. If they are not doing a good job, a fork would hardly be a bad thing.
    • The code isn't going to fork itself. If Sun is doing a reasonable job maintaining the source code, they don't have much to fear from a fork.

      That presumes that there isn't an 800lbs. gorilla sitting in the next room just plotting to catch you unaware and clobber you.

      In the current OSS world, there is a sort of agreed upon level of friendliness between projects. Projects may compete, but they also cooperate, and everyone is more focussed on creating the best project they can, and not just trying to kill

      • I think this concern is outdated. Now that Microsoft have .NET they are hardly likely to put much effort into Java.

        I think even at the time such problems could have been avoided by releasing Java with a GPL licence. Most likely Microsoft simply wouldn't have touched it on those terms. Any changes they made would have been available to anyone in any case. Even if the "market decided" to prefer Microsoft's version over Sun's, it's would hardly have been the end of Java.

        Now with a dominant .NET on the other

  • Change the title (Score:5, Insightful)

    by clevelandguru ( 612010 ) on Tuesday May 16, 2006 @02:59PM (#15344696)
    The title should read "Sun to Open Source Java". The source code has been available for a long time.
  • Trademark usage. (Score:4, Insightful)

    by Anonymous Coward on Tuesday May 16, 2006 @03:01PM (#15344711)
    What I don't get is why Sun have such a hissy fit over supposed Java incompatibilites introduced through forking of free licensed code. What's to stop them preventing people from calling derivitive versions 'Java'? Sun could implement strict compliance testing, a-la UNIX, to ensure that derivitives are compatible, and can license the 'Java' trademark for use by those compatible versions. Problem solved.
    • What I don't get is why Sun have such a hissy fit over supposed Java incompatibilites introduced through forking of free licensed code. What's to stop them preventing people from calling derivitive versions 'Java'? Sun could implement strict compliance testing, a-la UNIX, to ensure that derivitives are compatible, and can license the 'Java' trademark for use by those compatible versions. Problem solved.

      One thing that limits the ability of Sun to do this is the existence of "fair use" in trademark law, which

    • provide feedback on how to best get there and prevent forking and fragmentation.

            What they fail to realize is that once they let the source code go, there is no way to prevent anything at all. That's what freedom is about. Or is it that they think they can put it "partially" in the public domain and still retain some control?

            Sorry Sun, it's all or nothing here.
    • That already is done that way, every JDK which calls itself java has to pass several million compliance tests. It works pretty well with every java related official api, and there already has been a coexistence of various apis that way. Tomcat for instance being an offical servlet runner, JBoss an official JEE Server and MyFaces as compliant JSF 1.1 implementation. I dont know the plans of Sun, but probably it will be resolved that way.
  • by Trigun ( 685027 ) <evil AT evilempire DOT ath DOT cx> on Tuesday May 16, 2006 @03:02PM (#15344717)
    Create a strong community with strong corporate involvement. If somebody does fork the code, the project will either die or be assimilated back into the main branch. Don't worry too much about others, just make sure that Sun will stand behind an official community. And standing behind them also means listening to them, even the ideas that you don't like.

    Look at Perl. It's open source, and hasn't really forked. It has, however, evolved.
    • by Dystopian Rebel ( 714995 ) on Tuesday May 16, 2006 @03:28PM (#15344948) Journal
      Just so I fully grasp your analogy, do you mean Perl < 6.0, which was damnably hard to read, or Perl >= 6.0, which will be impossible to understand?
    • No offense to Perl fans out there, but Perl doesn't have a Microsoft and and IBM trying to purposely introduce incompatable forks.

      Making Java open source, in the sense of a GPL or similar license, will kill Java.
      • As there are already OSS Java implementations, which can already be forked, all Sun does by not going open source is reduce their own ability (given the viral nature of the OS licenses involved) to embrace a threatening fork before it becomes so divergent and well-established that it splits the user base badly.

        Further, having the gold-standard implementation open to the community might present Java with a competitive advantage over .NET (which has a multiplatform OSS implementation, too); and the risk from
      • > Making Java open source, in the sense of a GPL or similar license, will kill Java.

        Then it deserves to die. This is not Uncle Joe-Bob's job going south to NAFTA, so what on earth inspires such protectionist claptrap for Java's sake? This is code. Evolve or die.

        Microsoft has .NET and doesn't give a fig about being kicked around by the Java crowd anymore. There's even IKVM for when you still want Java. As for IBM, what was their unpardonable crime? Writing a new toolkit? That they didn't gobble dow
    • On the other hand, there are a ton of forks off of Mozilla.
    • by blamanj ( 253811 ) on Tuesday May 16, 2006 @03:54PM (#15345250)
      Take a feature like generics. There were at least two implementations (Pizza, GJ) available a couple of years before JDK 1.5. That's a fork that could have happened easily.

      There are also raging debates over how certain numerics extensions should be done. You could argue that a minor fork has already happened with logging. Some people have a strong preference for Log4j over the Java API.

      You get three or four examples of good but different forks, and Java as a stable, uniform platform could be in trouble.
  • by geoffrobinson ( 109879 ) on Tuesday May 16, 2006 @03:04PM (#15344738) Homepage
    Anyone can use the code. You can only call yourself "Java" if you hit certain specs and pass some tests. In other words, if you can prove that you meet the Java standards (with API support etc), you can call yourself Java and use the source code. If not, you aren't Java. Feel free to use the source code.

    This may not be a GPL license, but that's alright.

    Is there any reason why such an approach wouldn't work?
  • Criteria #1 (Score:3, Insightful)

    by TopSpin ( 753 ) * on Tuesday May 16, 2006 @03:11PM (#15344792) Journal
    Whatever 'how' you come up with must satisfy one simple criterion: make it possible for the major Linux distributions to include the Sun JVM, runtime (tailored to whatever degree necessary to work well,) and source, in their product.

  • by mattypants ( 169026 ) on Tuesday May 16, 2006 @03:13PM (#15344810)
    Although the source for the reference platform has been available for some time, the fact that it may become 'free' means forks are inevitable, and that's the only thing that's missing from Java, namely the freedom to fork it. Mind you, if the C++ crowd get hold of it that's what it will be... completely forked.
  • """A group of developers could split off from the main Java community and form a second, independent group that follows an independent course. This could lead to confusion with developers and cause Java to lose focus.""" Am I the only one tired of hearing nonsense like this? Java has already been forked. Multiple times. There are already open source implementations of both the VM and the base class libraries. These implementations are distributed by default in most big Linux distributions: RedHat, Ubuntu,
    • Well, if those products are already out there and already open source, how can the OSS flag-wavers claim that Java can't be open-sourced?

      How quickly people forget what Microsoft tried to do to Java. The only thing that saved Java was it license agreement.
  • by Were-Rabbit ( 959205 ) on Tuesday May 16, 2006 @03:20PM (#15344871)
    Whereas I'm not surprised that Slashdot is bringing out the normal anti-Sun's-attitude-towards-Java dogma, is this really a surprise? Jonathan Schwartz is closer to being a pro-Slashdot geek than Scott McNealy ever was. If anything, McNealy was just an arrogant ass who liked staying in his ivory tower with Bill Gates and Larry Ellison. Schwartz has always shown to be more of a geek than McNealy, and releasing the source code to Java has been a "cry of the geeks" for a long time.

    (Note that I don't use "geek" derogatorily as I fondly consider myself to be one.)

    Sun is giving us a ton of surprises in the past few years with Schwartz on board - from AMD processors to their first, AFFORDABLE powerhouse workstations (Ultra 20). I'm not surprised by this move at all, but I also don't blame them for wanting to be able to protect one of their revenue streams. At least Sun is trying. I guess the Slashdot "make it free or forget it" is still too strong, based on the responses I've seen so far in this thread. Looks like when it comes to Java, Sun is damned whether they do or don't. Pity.
  • Don't get me wrong, I'm all pro-FOSS, still... We have this: http://java.sun.com/j2se/1.5.0/source_license.htm l [sun.com] and I don't see how this "new" turn of events will further help Java. I think it will be like with OO.org, it's open still, only a handfull of devs care about it for various reasons. I really like Sun as a company and as a source of hw and sw (no, I'm in no way affiliated or related) and I hope this turn will be in the right direction.
  • How? Three words: (Score:2, Interesting)

    by caudron ( 466327 )
    General Public License [gnu.org]

    Seriously, there's a reason it's so popular. It ensures that noone can hijack the project and the source code will be legitimately free. You will make the most people happy with your decision if you go that route. Anything else will be seen as hedging your bets.

    Tom Caudron
    http://tom.digitalelite.com/ [digitalelite.com]
  • Are the various demagogues of Open Source going to track how the new license helps Java grow?

    I'd say that this is a classic situation where Java will not be the only thing worth studying. Once the license is decided and the code is even more out there for even more possibilities will we see IBM do even more with it? Will we see schools teach more Java because it has passed open source muster? Will this help it gain market share? Force M$ to open its languages? What about a new free Delphi?

    I hope everyone, i
  • YES (Score:3, Funny)

    by JavaLord ( 680960 ) on Tuesday May 16, 2006 @03:40PM (#15345063) Journal
    I can't wait to make the Javalord JVM. Soon the internet will be overrun with craplets that only work on my JVM. MUHAHAHA
  • by dmt99 ( 123849 ) on Tuesday May 16, 2006 @03:43PM (#15345120)
    Duke Nuke'em forever will release their source code....
  • by zyche ( 784345 )

    I don't care one bit about Sun Java as open source. Sure, it could be nice, but do you really think that a great number of amazing programmers would eagerly step up and immediately start to maintain and improve Java? And in that doing a better job than Sun & JCP is doing right now? Don't think so...

    However, there is one thing Sun could do... one very important thing: remove the stupid click-through license on downloading the Java source-code. That one thing would mean that the BSD portstree or Gentoo

    • by neurojab ( 15737 )
      Sure, it could be nice, but do you really think that a great number of amazing programmers would eagerly step up and immediately start to maintain and improve Java? And in that doing a better job than Sun & JCP is doing right now? Don't think so...

      Absolutely. We're not just talking about volunteers here. There are a lot of companies out there with a lot invested in Java. I'm sure they would love to have the opportunity to improve the core platform. Sun would still be involved in the maintenance, no do
  • by jmorris42 ( 1458 ) * <{gro.uaeb} {ta} {sirromj}> on Tuesday May 16, 2006 @03:49PM (#15345200)
    Seriously, at this late date in the game who cares anymore what Sun does? Those who care not for Freedom have already adopted Java and those who care are either using another language or are now firmly in the GCJ camp and, knowing Sun, won't leave for any bait & switch offer from Sun. I mean, raise your hand if you believe Sun's offer to "open source" Java will actually become a code dump under an OSI approved license. And the odds of it's license (and you can bet your last dollar it WILL be Yet Another License) being GPL compatible are null.

    Even today's new initiative to loosen the binary license to permit distribution repackaging is being being greeted by a certain amount of scepticism just because it is Sun. Personally I'll believe it is for real (as opposed to a deal for certain select popular distros, much like the Firefox trademark bullcrap) if jpackage.org can finally ship a binary rpm.
  • TeX (Score:4, Informative)

    by Ambush Commander ( 871525 ) on Tuesday May 16, 2006 @04:00PM (#15345318)
    I think that the reason Java doesn't want forking is to make sure that a program one person writes will always work on all Java interpreters. Sounds familiar to Knuth's concepts about TeX. The way they achieved it was by prohibiting new derivatives from being released under the same name (see http://en.wikipedia.org/wiki/TeX#License [wikipedia.org]) and those using TeX in their name must pass a rigorous test suite. The license is not GPL compatible, but perhaps Java could adopt something similar?
  • Sun also grants you a non-exclusive, non-transferable, royalty-free limited license to reproduce and distribute the Software, directly or indirectly through your licensees, distributors, resellers, or OEMs, electronically or in physical form or pre-installed with your Operating System on a general purpose desktop computer or server, provided that:
    (...)
    b) the Software is distributed with your Operating System, and such distribution is solely for the purposes of running Programs under the control of your Op

  • The freedom to fork the Linux kernel has resulted in varieties of Linux running on all sorts of platforms, including many that that the mainstream kernel development team has absolutely no interest in.

    That's the beauty of being able to fork the code -- people can use it as the basis for scratching their own itch.

    The freedom to fork Linux distributions has resulted in something that most markets identify as "competition", something which the x86 desktop OS market hasn't seen in some time.

    In spite of Sun's touching concerns, this can actually be a healthy situation, and usually is.
  • good move (Score:3, Insightful)

    by unk1911 ( 250141 ) on Tuesday May 16, 2006 @05:10PM (#15345961) Homepage
    i think this is a great idea. one of my biggest annoyances with writing java apps has been that if i ever wanted to release my programs and didn't want to make any assumptions about my users (mainly that they had any version of java already installed on their system let a lone a level of java that matched my own level) i would have to deploy a very heavy 50MB JRE with my 100K app... i think with the opening of the java source, much like in the linux world, someone will repackage the JRE and just keep the very bare-bones essentials so that instead of deploying a 50MB+100K apps i can deploy a 5MB+100k app.

    --
    http://unk1911.blogspot.com/ [blogspot.com]

MS-DOS must die!

Working...