Meta tags:
description= What s OpenJDK (or the OpenJDK ?), how does it work, and what does it do? Here s the answer to these questions as well as explorations of JDK Enhancement Proposals, the Java Community Process, why there are so many JDK providers, and how long-term support works.;
Headings (most frequently used words):
openjdk, java, community, what, is, inside, newscast, 28, intro, not, outro, place, for, the, jdk, project, enhancement, proposals, that, it, process, binaries, distributions, vendors, long, term, support,
Text of the page (most frequently used words):
the (111), and (80), java (74), openjdk (56), that (51), for (40), #project (29), jdk (28), community (27), are (22), you (21), what (19), they (19), there (17), one (14), #support (14), can (14), like (14), about (13), oracle (13), with (12), long (11), how (11), lead (11), their (11), but (11), projects (11), process (11), all (10), more (10), this (9), get (9), repos (9), because (9), when (8), from (8), version (8), term (8), does (8), those (8), let (7), update (7), which (7), code (7), each (7), also (7), vendors (7), well (7), not (7), under (7), binaries (7), work (6), time (6), companies (6), many (6), why (6), have (6), who (6), updates (6), these (6), reference (6), specification (6), inside (5), newscast (5), questions (5), your (5), just (5), release (5), has (5), another (5), works (5), builds (5), distributions (5), example (5), enhancement (5), proposals (5), place (5), junit (5), github (4), youtube (4), see (4), two (4), know (4), few (4), offer (4), leads (4), probably (4), want (4), six (4), months (4), providers (4), jcp (4), means (4), where (4), its (4), most (4), short (4), out (4), loom (4), valhalla (4), jsr (4), implementation (4), way (4), turn (4), amber (4), member (4), tags (4), chair (4), core (4), basics (4), license (3), privacy (3), could (3), here (3), think (3), episode (3), outro (3), rob (3), mckenna (3), repo (3), next (3), role (3), since (3), company (3), maintenance (3), even (3), though (3), lts (3), source (3), build (3), patches (3), pretty (3), often (3), free (3), open (3), good (3), part (3), need (3), corresponding (3), then (3), said (3), always (3), net (3), lambda (3), itself (3), tools (3), year (3), appointed (3), libs (3), panama (3), individuals (3), roles (3), intro (3), watch (3), follow (3), share (3), pioneer (3), demos (3), streams (3), clean (3), rss (2), stackoverflow (2), twitch (2), discord (2), mastodon (2), bluesky (2), today (2), things (2), before (2), didn (2), would (2), actually (2), other (2), members (2), contributors (2), releases (2), versions (2), people (2), exactly (2), commercial (2), lot (2), bit (2), changes (2), everybody (2), others (2), ecosystem (2), maintained (2), regular (2), supported (2), plus (2), issue (2), confusing (2), offers (2), etc (2), select (2), really (2), working (2), linux (2), large (2), money (2), far (2), any (2), mostly (2), mirrors (2), different (2), much (2), own (2), give (2), remember (2), during (2), production (2), ready (2), features (2), right (2), created (2), spec (2), serve (2), exception (2), least (2), 394 (2), technically (2), platform (2), provides (2), past (2), jigsaw (2), standard (2), specifications (2), produces (2), processes (2), download (2), case (2), them (2), namely (2), jeps (2), read (2), bylaws (2), comments (2), don (2), video (2), important (2), base (2), census (2), org (2), usually (2), controls (2), mark (2), reinhold (2), now (2), vice (2), redhat (2), structure (2), reviewer (2), committer (2), description (2), structured (2), set (2), groups (2), around (2), create (2), specific (2), very (2), words (2), answer (2), active (2), various (2), platforms (2), space (2), notified (2), publish (2), new (2), content (2), post (2), videos (2), talks (2), libfx (2), record (2), args (2), var (2), techniques (2), switch (2), serialization (2), reflection (2), records (2), leyden (2), performance (2), patterns (2), pattern (2), matching (2), optional (2), ramp (2), migration (2), meta (2), maven (2), libraries (2), javafx (2), j_ms (2), generics (2), dop (2), documentation (2), deprecation (2), collections (2), architecture (2), javascript (2), contact, imprint, again, weeks, uhm, made, mistake, asked, twitter, reddit, wrote, script, tackle, idea, dedicated, fun, shifts, his, focus, leading, repository, old, potential, doing, imagine, will, make, decision, value, pay, decisions, impact, invest, into, contributing, agnostic, continued, after, first, makes, sense, should, decide, level, concept, lives, outside, realm, whatever, coordinate, maintaining, gets, easier, split, across, incentive, upstream, closer, stays, benefit, positive, variant, prisoner, dilemma, impressive, major, reason, such, strong, diverse, surprisingly, vague, personally, distinction, between, include, relevant, security, fixes, yell, someone, phone, details, compare, specifically, describe, service, mean, implemented, help, clearly, biased, multiple, reckon, earn, sure, whether, noticed, described, demanding, almost, weren, differ, name, nftc, subscription, proper, internal, contain, slightly, additional, every, vendor, maintain, away, distributes, gplv2, 100, freshest, oven, definitely, choice, early, access, anybody, explained, implementations, windows, receive, implementors, kilogram, weight, sample, museum, published, gpl, classpath, familiar, iris, clark, brian, goetz, released, tasks, provide, binary, finalizes, abstract, defined, respective, concrete, runnable, built, main, vehicle, request, had, lots, enshrining, proposed, move, faster, cadence, piecemeal, delivery, nowadays, beast, justice, minute, tagline, mechanism, developing, technical, technology, language, indeed, requests, none, organizations, parallel, top, wondered, talk, aren, while, fulfilled, promise, tell, feel, changed, left, touch, ton, relate, form, roadmap, focuses, massive, side, track, already, full, over, anyway, interested, learn, development, gladly, discuss, future, opportunity, subscribe, notifications, miss, workflow, governs, formal, key, famous, exceptions, aside, effort, design, implement, nontrivial, change, find, zgc, shenandoah, jextract, mission, control, task, jdk18u, jdk19u, passing, baton, qualified, steps, been, odd, numbered, merges, collaborates, number, importantly, contains, javac, hotspot, hosted, jdk18, jdk19, until, become, generally, available, happens, spits, commit, fork, abandons, arraylist, covers, was, only, play, elected, moment, andrew, haley, volker, simonis, amazon, ibm, annette, keenleyside, georges, saab, plays, governing, board, manages, operation, consists, five, take, stuart, marks, group, busy, guy, look, yes, link, below, summarize, topics, compiler, tooling, collaborative, efforts, artifacts, wide, author, contributor, participant, preamble, govern, according, define, overall, voting, mechanisms, stuff, 500, minutes, loud, clears, throat, microsoft, exist, call, start, either, synonymous, together, edition, related, explore, live, tons, links, dive, welcome, everyone, cover, recent, developments, nicolai, parlog, developer, advocate, gonna, clear, confusion, heck, dangerous, kids, toc, table, contents, policy, cookie, embed, explorations, 2022, slides, upcoming, schedule, recordings, virtual, threads, vector, concurrency, lilliput, galahad, babylon, conversation, book, club, jms, newsletter, blog, posts, testing, rant, jdeps, impulse, default, methods, lang, review, site, without, better, enabled, nipafx,
Text of the page (random words):
what is openjdk inside java newscast 28 nipafx this site works well without javascript but it works even better with javascript enabled bluesky mastodon discord youtube twitch github stackoverflow rss words tags architecture clean code clean comments code review collections community core lang core libs default methods deprecation documentation dop generics impulse j_ms java 10 java 11 java 12 java 13 java 16 java 17 java 18 java 20 java 23 java 24 java 25 java 26 java 27 java 8 java 9 java basics java next javafx jdeps js junit 5 junit pioneer lambda libfx libraries maven meta migration on ramp optional pattern matching patterns performance project amber project jigsaw project leyden project loom project panama project valhalla rant record args records reflection serialization streams switch techniques testing tools turn of the year var blog posts newsletter the jms videos tags ai architecture book club clean code collections community conversation core libs deprecation documentation dop generics j_ms java 10 java 11 java 12 java 16 java 17 java 18 java 19 java 21 java 22 java 23 java 24 java 25 java 26 java 8 java 9 java basics java next javafx junit 5 junit pioneer lambda libraries maven meta migration on ramp openjdk optional pattern matching patterns performance project amber project babylon project galahad project leyden project lilliput project loom project panama project valhalla records reflection serialization streams structured concurrency switch techniques tools turn of the year var vector virtual threads recordings streams schedule code demos demos demos junit pioneer record args libfx talks my talks past upcoming slides about about me license privacy 2022 06 30 what is openjdk inside java newscast 28 video openjdk community java basics what s openjdk or the openjdk how does it work and what does it do here s the answer to these questions as well as explorations of jdk enhancement proposals the java community process why there are so many jdk providers and how long term support works always embed videos and give me a cookie to remember privacy policy watch on youtube what is openjdk inside java newscast 28 table of contents intro openjdk place for a community the jdk project java enhancement proposals that s it not openjdk java community process binaries distributions vendors long term support outro share follow share this post with your community i m active on various platforms watch this space or follow me there to get notified when i publish new content toc intro openjdk place for a community the jdk project java enhancement proposals that s it not openjdk java community process binaries distributions vendors long term support outro s f share this post with your community i m active on various platforms watch this space or follow me there to get notified when i publish new content intro welcome everyone to the inside java newscast where we cover recent developments in the openjdk community i m nicolai parlog java developer advocate at oracle and today we re gonna clear up the confusion around what the heck openjdk really is can you download it does it have long term support is it dangerous for your kids now that openjdk org is live we need to answer these questions as usually tons of links in the description let s dive right in openjdk we ll start with the very basics what s openjdk or is it the openjdk no it s not it s either the openjdk community or just openjdk the two are synonymous it s a place where a community of individuals work together on the jdk project to create the open source reference implementation of the java platform standard edition as well as related projects let s explore that a bit place for a community as i said openjdk is a community of individuals so there are no companies oracle redhat microsoft they don t exist here well there s one exception i ll call it out when i get to it so openjdk has to govern itself and it does that according to its bylaws they define the overall structure and processes roles voting mechanisms stuff like that and it s not very long about 4 500 words so about 20 minutes to read out loud clears throat preamble the openjdk community is so to summarize the openjdk community is structured as a set of groups that are individuals around topics like the compiler or tooling and a set of projects that are collaborative efforts to create specific artifacts like the project that works on jdk 19 or project amber there are community wide roles participant contributor and member as well as roles specific to groups member and lead and to projects author committer reviewer and lead take stuart marks for example he s a member of openjdk itself and the core libs group reviewer on jdk jdk updates and a few more and committer on a lot more projects like panama and valhalla busy guy you can look that up in the census by the way which yes exactly i ll link in the description below another important role in the openjdk community plays the governing board it manages openjdk s structure and operation and consists of five contributors the chair appointed by oracle georges saab the vice chair appointed by ibm annette keenleyside the openjdk lead appointed by oracle mark reinhold two elected members who serve for one year at the moment these are andrew haley from redhat and volker simonis from amazon this was it by the way the only place in openjdk where companies play a role is chair vice chair and openjdk lead and that covers the community now let s turn to what they re actually working on the jdk project the openjdk community collaborates on a number of projects most importantly the jdk project which is always lead by the openjdk lead so mark reinhold that s the code base that contains arraylist javac hotspot etc it s hosted on github under openjdk jdk but the jdk project also controls the release repos like jdk18 and jdk19 until they become generally available when that happens when the java community process spits out another version of java se openjdk tags a commit in the corresponding fork and abandons it because maintenance is the task of another project namely jdk updates it controls the update repos like jdk18u and jdk19u and project lead rob mckenna from oracle leads maintenance for six months before passing the baton to a qualified openjdk member if one steps up so far that has been the case for all odd numbered releases since 10 they all see regular merges and release tags there are way more projects though and you can find all of them in the census and all of their repos under the github org openjdk projects like amber and loom usually get one or more repos and zgc and shenandoah also each have one and then there are repos for tools like jextract and java mission control java enhancement proposals each openjdk project governs itself and as the most important one the jdk project has the most formal process a key part of that are the famous jdk enhancement proposals jeps for short a few exceptions aside each is an effort to design and implement a nontrivial change to the jdk code base there s a ton more that could be said about jeps for example their workflow how they relate to projects how they form the jdk roadmap and much more since this episode focuses on openjdk though that would be a massive side track and i already read the full bylaws so we re way over time anyway but if you re interested to learn more about the jdk development process let me know in the comments and i ll gladly discuss that in a future episode that s also a good opportunity to subscribe and turn on notifications so you don t miss that video that s it indeed that s it the java community process java specification requests binaries distributions vendors long term support none of that is part of openjdk all of that are projects processes and organizations that work in parallel or on top of openjdk you can t download the openjdk because it produces no binaries in case you wondered why i didn t talk about them it s because there aren t any and while i ve technically fulfilled my promise to tell you about openjdk you d probably feel short changed if i left it at that so let s touch on at least a few of those namely the java community process why we have so many jdk distributions and what s up with long term support not openjdk java community process the java community process or jcp for short is its own beast that i can t do justice in a minute or two but the tagline is it s the mechanism for developing standard technical specifications for java technology think of the java language specification for example so the jcp produces specifications that openjdk then provides the reference implementation for the jcp s main vehicle is the java specification request jsr in the past we had lots of those enshrining the changes proposed by large projects like lambda and jigsaw but with the move to the faster release cadence and piecemeal delivery of features nowadays there s mostly just one jsr for each java release the one for java se 19 for example is jsr 394 each jsr has at least one specification lead for 394 those are iris clark and brian goetz and for it to be released one of their tasks is to provide a binary with the reference implementation so when the java community process finalizes another version of java se which technically is just an abstract platform as defined by the specification the respective spec lead provides the reference implementation a concrete and runnable jdk built from the corresponding openjdk project these binaries one for linux and one for windows receive no updates and are not production ready they serve as a reference for all implementors of the specification like a kilogram weight sample in a museum for example they are published under gpl version 2 with classpath exception under jdk java net java se ri version which is different from jdk java net version that you re probably familiar with let s get to those binaries distributions vendors early access builds for openjdk projects like loom and valhalla can be created by anybody and oracle often does that but so do others as i just explained reference implementations are created by the spec leads but what about those under jdk java net version those are oracle s builds of the jdk version project in openjdk or oracle openjdk builds for short remember when i said rob mckenna leads each jdk update repo for six months during those six months oracle distributes its openjdk builds under gplv2 ce and they do get updates during that time and are 100 production ready always the freshest features right out of the oven definitely my choice of jdk but oracle also offers oracle jdk no open in that name as is for free under its nftc license or as part of the java se subscription if you need proper support oracle builds these from internal repos that are mostly mirrors of the corresponding openjdk update repos but can contain slightly different or additional patches and that s pretty much what most or even every other vendor does as well they maintain mirrors of the update repos plus their own patches many give their binaries away for free and then also offer commercial support for those who need it i know that this can get confusing why are there so many build providers how do they differ and how to select vendors well like with linux there are multiple build providers because openjdk is open source and there are that many because the java ecosystem is so large that all of these companies reckon they can earn good money which is good because i m not sure whether you ve noticed but what i ve described so far is pretty time demanding and almost everybody who works on it does so on company time if there weren t any money in java there d be no java and how do you select vendors i really can t help you with that working for oracle i m clearly biased long term support another often confusing issue is that of long term support or lts what does it mean who offers it and how is it implemented etc as to what that means that s surprisingly vague i personally like the distinction between maintained and supported where maintained means you get regular updates often for free that include all relevant security fixes and supported means that plus you can yell at someone on the phone if there s an issue for more details you have to compare what vendors specifically describe as their service and support because and i probably should ve lead with that it s the build providers who decide what level of support they want to offer for what version so the concept of lts lives outside the realm of jcp and openjdk and each company can do whatever they want and they do but they also do want to coordinate because maintaining a java release is a lot of work and it gets a bit easier if it s split across more people that also means companies have an incentive to upstream their patches and changes to the openjdk repo because the closer everybody stays to that the more they can benefit from the work of others it s like a positive variant of the prisoner s dilemma which is pretty impressive if you think about it and a major reason why java has such a strong and diverse ecosystem so when rob mckenna shifts his focus from leading one update repo to the next he ll offer the repository lead role for the old one to other jdk update project members and since potential leads and contributors are probably doing their work on company time i imagine their companies will make a decision what releases they see value in and want to pay for the maintenance of so the companies decisions which versions to offer support for impact how many people can invest time into contributing to openjdk update repos and that s why even though openjdk is lts agnostic it s exactly the versions that have commercial support who see continued updates to their source code in openjdk after their first six months makes sense outro uhm i made a mistake and asked you on twitter and reddit for questions about openjdk before i wrote this script so i didn t know how long it would get and how few of your questions i could actually tackle so here s an idea what do you think about an episode dedicated to just your questions about all things java that could be fun let me know and that s it for today on the inside java newscast do all the youtube things and i ll see you again in two weeks so long bluesky mastodon discord youtube twitch github stackoverflow rss imprint privacy contact license
|