World Library  
Flag as Inappropriate
Email this Article
 

Morton Ira Greenberg

Morton Greenberg
Senior Judge of the United States Court of Appeals for the Third Circuit
Assumed office
June 30, 2000
Judge of the United States Court of Appeals for the Third Circuit
In office
March 23, 1987 – June 30, 2000
Appointed by Ronald Reagan
Preceded by Leonard Garth
Succeeded by Michael Chertoff
Personal details
Born

(1933-03-20) March 20, 1933


Philadelphia, Pennsylvania, U.S.
Alma mater University of Pennsylvania
Yale University

Morton Ira Greenberg (born March 20, 1933) is a Judge for the United States Court of Appeals for the Third Circuit. He was nominated by U.S. President Ronald Reagan on February 11, 1987 and was confirmed by the United States Senate on March 20, 1987.[1]

Biography

Greenberg was born in Philadelphia, Pennsylvania in 1933 but moved to Atlantic City, New Jersey at a young age. After graduating high school, he attended the University of Pennsylvania where he received a B.A. in 1954. He then attended Yale Law School where he received an LL.B. in 1957. At Yale, he was a member of the Yale Law Journal.

After leaving Yale, he moved to Trenton, New Jersey, and began working in the Office of the New Jersey Attorney General during the administration of Democratic Governor Robert B. Meyner, where he remained until 1960. In 1960, he left the Attorney General's Office and entered private practice in Cape May, New Jersey. From 1970 to 1971, he was the County Attorney for Cape May County. In 1971, he returned to the Attorney General's Office as the Assistant Attorney General for the State of New Jersey. In 1973, he was appointed a Judge of the Superior Court of New Jersey. He served in the trial divisions—first in the law division then in the chancery division—until 1980, when he was appointed as a Judge in the New Jersey Appellate Division.

Greenberg was nominated by U.S. President Ronald Reagan to fill a seat on the Third Circuit court vacated by Leonard I. Garth on February 11, 1987 and was confirmed by the United States Senate on March 20, 1987. He received his commission on March 23, 1987 and assumed senior status on the court on June 30, 2000. As a senior judge, he continues to hear cases. His seat was filled on April 4, 2006 by Michael Chagares. When Judge Greenberg was first appointed to the Third Circuit, Michael Chagares was one of his first law clerks,[2] so this is a rare example of a judge and his law clerk serving on the same court and even serving in the same seat.

Notable Decisions

Kreimer v. Morristown

Richard R. Kreimer, a homeless man residing in various public places throughout Morristown, New Jersey, filed a pro se complaint in the District Court of New Jersey claiming that his expulsion from the Joint Free Public Library of Morristown and Morris Township was unconstitutional as it violated his First and Fourteenth Amendment rights. The District Court accepted Kreimer’s arguments holding that the Library’s rules and regulations (especially those requiring proper hygiene) violated the First Amendment as they were unconstitutionally overbroad and unconstitutionally vague. The Library’s polices violated the Fourteenth Amendment by making unconstitutional distinctions between patrons (i.e. against homeless persons).

In an opinion delivered by Judge Greenberg, the Third Circuit reversed finding that libraries are a "limited public fora." Given that the Library would not have been open without the consent of a majority of voters, the municipality had an interest in assuring the Library would be used for its intended purpose; "the communication of the written word." Libraries, by nature, are meant to be places of quiet thoughtful writing, reading or contemplation, and policies designed to protect the intended uses of libraries do not violate the constitution. Any patron who disrupted others and prevented them from using a library to the fullest extent through their actions or inactions (e.g. inability to maintain public hygiene standards) could be subject to expulsion.[3]

Dissent in LePage's v. 3M

LePage's sued 3M for anti-trust violations in a case involving 3M's product scotch tape, which 3M had a monopoly over. LePage's asserted that 3M was "bundling" its products together in order to maintain its advantage in the tape market. LePage's won a jury verdict, and 3M appealed to the Third Circuit Court of Appeals. The Court heard the case en banc, with Judge Dolores Sloviter writing the opinion affirming the verdict for LePage's. Judge Greenberg dissented from the full Court's opinion. He argued that companies should be able to give rebates to volume purchasers and that the majority was simply punishing 3M for being more efficient than LePage's.[4] He was joined in his dissent by Chief Judge Anthony Joseph Scirica and then-Judge (now Justice) Samuel Alito.

ACLU v. Mukasey

In 1998, a federal District Court issued a preliminary injunction forbidding the U.S. government from implementing the new Child Online Protection Act. The U.S. Supreme Court eventually upheld this injunction on appeal. This preliminary injunction, however, only lasted until a full trial could be held. In 2007, the full trial was completed and the District Court ruled the law unconstitutional. The government appealed the decision to the Court of Appeals for the Third Circuit. The Third Circuit, in an opinion written by Judge Greenberg, held that the law was not "narrowly tailored" to achieve its purpose of protecting children from pornography. For example, web publishers would have to incur "high costs" in order to avoid prosecution, even when web publishers only served adults.[5] The Supreme Court refused to hear an appeal from Judge Greenberg's ruling, making his decision the last word as to the constitutionality of the law.

References


-- Module:Hatnote -- -- -- -- This module produces hatnote links and links to related articles. It -- -- implements the and meta-templates and includes -- -- helper functions for other Lua hatnote modules. --


local libraryUtil = require('libraryUtil') local checkType = libraryUtil.checkType local mArguments -- lazily initialise Module:Arguments local yesno -- lazily initialise Module:Yesno

local p = {}


-- Helper functions


local function getArgs(frame) -- Fetches the arguments from the parent frame. Whitespace is trimmed and -- blanks are removed. mArguments = require('Module:Arguments') return mArguments.getArgs(frame, {parentOnly = true}) end

local function removeInitialColon(s) -- Removes the initial colon from a string, if present. return s:match('^:?(.*)') end

function p.findNamespaceId(link, removeColon) -- Finds the namespace id (namespace number) of a link or a pagename. This -- function will not work if the link is enclosed in double brackets. Colons -- are trimmed from the start of the link by default. To skip colon -- trimming, set the removeColon parameter to true. checkType('findNamespaceId', 1, link, 'string') checkType('findNamespaceId', 2, removeColon, 'boolean', true) if removeColon ~= false then link = removeInitialColon(link) end local namespace = link:match('^(.-):') if namespace then local nsTable = mw.site.namespaces[namespace] if nsTable then return nsTable.id end end return 0 end

function p.formatPages(...) -- Formats a list of pages using formatLink and returns it as an array. Nil -- values are not allowed. local pages = {...} local ret = {} for i, page in ipairs(pages) do ret[i] = p._formatLink(page) end return ret end

function p.formatPageTables(...) -- Takes a list of page/display tables and returns it as a list of -- formatted links. Nil values are not allowed. local pages = {...} local links = {} for i, t in ipairs(pages) do checkType('formatPageTables', i, t, 'table') local link = t[1] local display = t[2] links[i] = p._formatLink(link, display) end return links end

function p.makeWikitextError(msg, helpLink, addTrackingCategory) -- Formats an error message to be returned to wikitext. If -- addTrackingCategory is not false after being returned from -- Module:Yesno, and if we are not on a talk page, a tracking category -- is added. checkType('makeWikitextError', 1, msg, 'string') checkType('makeWikitextError', 2, helpLink, 'string', true) yesno = require('Module:Yesno') local title = mw.title.getCurrentTitle() -- Make the help link text. local helpText if helpLink then helpText = ' (help)' else helpText = end -- Make the category text. local category if not title.isTalkPage and yesno(addTrackingCategory) ~= false then category = 'Hatnote templates with errors' category = string.format( '%s:%s', mw.site.namespaces[14].name, category ) else category = end return string.format( '%s', msg, helpText, category ) end


-- Format link -- -- Makes a wikilink from the given link and display values. Links are escaped -- with colons if necessary, and links to sections are detected and displayed -- with " § " as a separator rather than the standard MediaWiki "#". Used in -- the template.


function p.formatLink(frame) local args = getArgs(frame) local link = args[1] local display = args[2] if not link then return p.makeWikitextError( 'no link specified', 'Template:Format hatnote link#Errors', args.category ) end return p._formatLink(link, display) end

function p._formatLink(link, display) -- Find whether we need to use the colon trick or not. We need to use the -- colon trick for categories and files, as otherwise category links -- categorise the page and file links display the file. checkType('_formatLink', 1, link, 'string') checkType('_formatLink', 2, display, 'string', true) link = removeInitialColon(link) local namespace = p.findNamespaceId(link, false) local colon if namespace == 6 or namespace == 14 then colon = ':' else colon = end -- Find whether a faux display value has been added with the | magic -- word. if not display then local prePipe, postPipe = link:match('^(.-)|(.*)$') link = prePipe or link display = postPipe end -- Find the display value. if not display then local page, section = link:match('^(.-)#(.*)$') if page then display = page .. ' § ' .. section end end -- Assemble the link. if display then return string.format('%s', colon, link, display) else return string.format('%s%s', colon, link) end end


-- Hatnote -- -- Produces standard hatnote text. Implements the template.


function p.hatnote(frame) local args = getArgs(frame) local s = args[1] local options = {} if not s then return p.makeWikitextError( 'no text specified', 'Template:Hatnote#Errors', args.category ) end options.extraclasses = args.extraclasses options.selfref = args.selfref return p._hatnote(s, options) end

function p._hatnote(s, options) checkType('_hatnote', 1, s, 'string') checkType('_hatnote', 2, options, 'table', true) local classes = {'hatnote'} local extraclasses = options.extraclasses local selfref = options.selfref if type(extraclasses) == 'string' then classes[#classes + 1] = extraclasses end if selfref then classes[#classes + 1] = 'selfref' end return string.format( '
%s
', table.concat(classes, ' '), s )

end

return p-------------------------------------------------------------------------------- -- Module:Hatnote -- -- -- -- This module produces hatnote links and links to related articles. It -- -- implements the and meta-templates and includes -- -- helper functions for other Lua hatnote modules. --


local libraryUtil = require('libraryUtil') local checkType = libraryUtil.checkType local mArguments -- lazily initialise Module:Arguments local yesno -- lazily initialise Module:Yesno

local p = {}


-- Helper functions


local function getArgs(frame) -- Fetches the arguments from the parent frame. Whitespace is trimmed and -- blanks are removed. mArguments = require('Module:Arguments') return mArguments.getArgs(frame, {parentOnly = true}) end

local function removeInitialColon(s) -- Removes the initial colon from a string, if present. return s:match('^:?(.*)') end

function p.findNamespaceId(link, removeColon) -- Finds the namespace id (namespace number) of a link or a pagename. This -- function will not work if the link is enclosed in double brackets. Colons -- are trimmed from the start of the link by default. To skip colon -- trimming, set the removeColon parameter to true. checkType('findNamespaceId', 1, link, 'string') checkType('findNamespaceId', 2, removeColon, 'boolean', true) if removeColon ~= false then link = removeInitialColon(link) end local namespace = link:match('^(.-):') if namespace then local nsTable = mw.site.namespaces[namespace] if nsTable then return nsTable.id end end return 0 end

function p.formatPages(...) -- Formats a list of pages using formatLink and returns it as an array. Nil -- values are not allowed. local pages = {...} local ret = {} for i, page in ipairs(pages) do ret[i] = p._formatLink(page) end return ret end

function p.formatPageTables(...) -- Takes a list of page/display tables and returns it as a list of -- formatted links. Nil values are not allowed. local pages = {...} local links = {} for i, t in ipairs(pages) do checkType('formatPageTables', i, t, 'table') local link = t[1] local display = t[2] links[i] = p._formatLink(link, display) end return links end

function p.makeWikitextError(msg, helpLink, addTrackingCategory) -- Formats an error message to be returned to wikitext. If -- addTrackingCategory is not false after being returned from -- Module:Yesno, and if we are not on a talk page, a tracking category -- is added. checkType('makeWikitextError', 1, msg, 'string') checkType('makeWikitextError', 2, helpLink, 'string', true) yesno = require('Module:Yesno') local title = mw.title.getCurrentTitle() -- Make the help link text. local helpText if helpLink then helpText = ' (help)' else helpText = end -- Make the category text. local category if not title.isTalkPage and yesno(addTrackingCategory) ~= false then category = 'Hatnote templates with errors' category = string.format( '%s:%s', mw.site.namespaces[14].name, category ) else category = end return string.format( '%s', msg, helpText, category ) end


-- Format link -- -- Makes a wikilink from the given link and display values. Links are escaped -- with colons if necessary, and links to sections are detected and displayed -- with " § " as a separator rather than the standard MediaWiki "#". Used in -- the template.


function p.formatLink(frame) local args = getArgs(frame) local link = args[1] local display = args[2] if not link then return p.makeWikitextError( 'no link specified', 'Template:Format hatnote link#Errors', args.category ) end return p._formatLink(link, display) end

function p._formatLink(link, display) -- Find whether we need to use the colon trick or not. We need to use the -- colon trick for categories and files, as otherwise category links -- categorise the page and file links display the file. checkType('_formatLink', 1, link, 'string') checkType('_formatLink', 2, display, 'string', true) link = removeInitialColon(link) local namespace = p.findNamespaceId(link, false) local colon if namespace == 6 or namespace == 14 then colon = ':' else colon = end -- Find whether a faux display value has been added with the | magic -- word. if not display then local prePipe, postPipe = link:match('^(.-)|(.*)$') link = prePipe or link display = postPipe end -- Find the display value. if not display then local page, section = link:match('^(.-)#(.*)$') if page then display = page .. ' § ' .. section end end -- Assemble the link. if display then return string.format('%s', colon, link, display) else return string.format('%s%s', colon, link) end end


-- Hatnote -- -- Produces standard hatnote text. Implements the template.


function p.hatnote(frame) local args = getArgs(frame) local s = args[1] local options = {} if not s then return p.makeWikitextError( 'no text specified', 'Template:Hatnote#Errors', args.category ) end options.extraclasses = args.extraclasses options.selfref = args.selfref return p._hatnote(s, options) end

function p._hatnote(s, options) checkType('_hatnote', 1, s, 'string') checkType('_hatnote', 2, options, 'table', true) local classes = {'hatnote'} local extraclasses = options.extraclasses local selfref = options.selfref if type(extraclasses) == 'string' then classes[#classes + 1] = extraclasses end if selfref then classes[#classes + 1] = 'selfref' end return string.format( '
%s
', table.concat(classes, ' '), s )

end

return p
  1. ^
  2. ^ Biographical Directory of Federal Judges, Michael Chagares
  3. ^ Kreimer v. Morristown, 958 F.2d 1242 (3d Cir. 1992)
  4. ^ Lepage's v. 3M, 324 F.3d 141 (3d Cir. 2003) (en banc)
  5. ^ ACLU v. Mukasey, 534 F.3d 181 (3d Cir. 2008)

Sources

Legal offices
Preceded by
Leonard Garth
Judge of the United States Court of Appeals for the Third Circuit
1987–2000
Succeeded by
Michael Chertoff
This article was sourced from Creative Commons Attribution-ShareAlike License; additional terms may apply. World Heritage Encyclopedia content is assembled from numerous content providers, Open Access Publishing, and in compliance with The Fair Access to Science and Technology Research Act (FASTR), Wikimedia Foundation, Inc., Public Library of Science, The Encyclopedia of Life, Open Book Publishers (OBP), PubMed, U.S. National Library of Medicine, National Center for Biotechnology Information, U.S. National Library of Medicine, National Institutes of Health (NIH), U.S. Department of Health & Human Services, and USA.gov, which sources content from all federal, state, local, tribal, and territorial government publication portals (.gov, .mil, .edu). Funding for USA.gov and content contributors is made possible from the U.S. Congress, E-Government Act of 2002.
 
Crowd sourced content that is contributed to World Heritage Encyclopedia is peer reviewed and edited by our editorial staff to ensure quality scholarly research articles.
 
By using this site, you agree to the Terms of Use and Privacy Policy. World Heritage Encyclopedia™ is a registered trademark of the World Public Library Association, a non-profit organization.
 


Copyright © World Library Foundation. All rights reserved. eBooks from Project Gutenberg are sponsored by the World Library Foundation,
a 501c(4) Member's Support Non-Profit Organization, and is NOT affiliated with any governmental agency or department.